영호
[Java] List인터페이스 - LinkedList 본문
Java에서의 LinkedList
- List인터페이스를 구현한 collection클래스 중 하나로, Java에서는 doubly LinkedList를 제공해줍니다.
- ArrayList와 마찬가지로 List인터페이스를 구현했기 때문에 주요 메서드는 거의 비슷합니다.
- 각 노드들은 참조를 통해 연결되기 때문에 ArrayList보다 데이터 추가/삭제 측면에서 효율적인 수행이 가능합니다.
- 그러나, 특정 index의 원소에 접근하기 위해선 첫 노드부터 거쳐가야 하기 때문에 특정 원소 탐색에는 ArrayList보다 불리합니다.
- ArrayList에 대한 글
LinkedList원소 추가
- add(element), push(element), addLast(element) : LinkedList뒤에 원소 추가
- addFirst(element) : LinkedList앞에 원소 추가
- add(index, element) : index를 지정해 원소 추가
- add(collection) : collection을 LinkedList뒤에 추가
- add(index, collection) : collection을 index 지정해 추가
LinkedList<Integer> linkedList = new LinkedList<>();
linkedList.add(3); // 3
linkedList.push(4); // 3, 4
linkedList.addLast(5); // 3, 4, 5
linkedList.addFirst(1); // 1, 3, 4, 5
linkedList.add(1,2); // 1, 2, 3, 4, 5
linkedList.addAll(Arrays.asList(6, 7)); // 1, 2, 3, 4, 5, 6, 7
linkedList.addAll(1,Arrays.asList(6, 7)); // 1, 6, 7, 2, 4, 3, 5, 6, 7
System.out.println("linkedList = " + linkedList);
// 1, 6, 7, 2, 4, 3, 5, 6, 7
LinkedList원소 삭제
- remove(element) : LinkedList에서 element삭제
- remove(index) : LinkedList의 index원소 삭제
- remove(), removeFirst() : LinkedList의 첫 번째 원소 삭제
- removeLast() : LinkedList의 마지막 원소 삭제
LinkedList<Integer> linkedList = new LinkedList<>(Arrays.asList(1,2,3,4,5,6,7));
linkedList.remove(Integer.valueOf(2)); // 1, 3, 4, 5, 6, 7
linkedList.remove(2); // 1, 3, 5, 6, 7
linkedList.remove(); // 3, 5, 6, 7
linkedList.removeFirst(); // 5, 6, 7
linkedList.removeLast(); // 5, 6
LinkedList 원소 개수
- size()
LinkedList원소 탐색
- get(index) : LinkedList의 index위치 원소 탐색
- getFirst() : LinkedList의 첫 번째 원소 탐색
- getLast() : LinkedList의 마지막 원소 탐색
- contains(element) : 해당 element가 존재하는지 True/False
- containsAll(collection) : collection원소가 전부 존재하는지 True/False
LinkedList<Integer> linkedList = new LinkedList<>(Arrays.asList(1,2,3,4,5,6,7));
for(int i = 0; i < linkedList.size(); i++){
System.out.print(linkedList.get(i) + " "); // 1 2 3 4 5 6 7
}
System.out.println("linkedList.getFirst() = " + linkedList.getFirst()); // 1
System.out.println("linkedList.getLast() = " + linkedList.getLast()); // 7
linkedList.contains(Integer.valueOf(3)); // true
linkedList.contains(Integer.valueOf(10)); // false
linkedList.containsAll(Arrays.asList(1, 2)); // true
linkedList.containsAll(Arrays.asList(1, 2, 8)); // 8이 없기 때문에 false
LinkedList 원소 변경
- set(index, element) : index원소를 element로 변경
LinkedList<Integer> linkedList = new LinkedList<>(Arrays.asList(1,2,3,4,5,6,7));
linkedList.set(0, 5); // 5, 2, 3, 4, 5, 6, 7
'Language > JAVA' 카테고리의 다른 글
[JAVA] instance method vs static method (0) | 2022.10.04 |
---|---|
[Java] Map인터페이스 - HashMap (0) | 2022.06.25 |
[Java] List인터페이스 - ArrayList (0) | 2022.06.14 |
[Java] String Constant Pool (0) | 2022.06.08 |
[Java] ==, equals() 차이 (0) | 2022.06.08 |
Comments