[Java] LinkedList
2021. 5. 4. 16:53
1. LinkedList ?
- 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식의 자료구조
- index가 없어 데이터의 추가, 삭제에 용이하나 특정 요소 접근을 위해 탐색 필요
- 탐색/정렬 중심-> 배열, 데이터 추가/삭제 중심-> 연결 리스트
2. 사용법
LinkedList 생성자
LinkedList<Integer> list1 = new LinkedList<>();
LinkedList<String> list2 = new LinkedList<>();
LinkedList<Student> list3 = new LinkedList<>(); // 사용자가 정의한 Student 객체
// 한번에 여러 개의 값으로 초기화
LinkedList<Integer> list4 = new LinkedList<>(Arrays.asList(1,2,3,4,5));
LinkedList 멤버함수
LinkedList<Integer> list = new LinkedList<Integer>();
list.addFirst(1); // 가장 앞에 데이터 추가
list.addLast(2); // 가장 뒤에 데이터 추가
list.add(4); // 가장 뒤에 데이터 추가
list.add(2, 3); // index 2 뒤에 데이터 3 추가
list.removeFirst(); // 가장 앞의 데이터 제거
list.removeLast(); // 가장 뒤의 데이터 제거
list.remove(2); // index 2 위치의 데이터 제거
list.remove(); // 생략 시 index 0 위치의 데이터 제거
list.clear(); // 모든 값 제거
list.size();
list.get(1); // index 1 위치의 데이터 반환
list.contains(3); // list에 3이 있을 경우 true
list.indexOf(2); // 2가 있는 index 반환, 없을 경우 -1 반환
LinkedList<Student> members = new LinkedList<>();
Student student = new Student(name, age);
members.add(student);
members.add(new Student(name, age));
LinkedList 값 출력
// for문 사용
for(Integer i : list) {
System.out.println(i);
}
// Iterator 사용
Iterator<Integer> iter = list.iterator();
while(iter.hasNext()) {
System.out.println(iter.next());
}
'Java' 카테고리의 다른 글
[Java] 힙 (Heap) (0) | 2021.07.19 |
---|---|
[Java] Priority Queue (0) | 2021.07.09 |
[Java] 반복문 제어 - break, continue (0) | 2021.05.04 |
[Java] Queue (0) | 2021.05.04 |
[Java] List <-> Array (0) | 2021.04.26 |