LinkedList 연결리스트
배열과 같이 메모리공간이 열결된 것이 아니라 다음 데이터를 레퍼런스하는 주소값으로 연결된 형태라 메모리공간이 불규칙하게 분산되어 있습니다. 데이터 탐색에는 시간이 오래 걸리지만 데이터 추가 및 삭제는 빠릅니다.
import java.util.Iterator;
import java.util.LinkedList;
public class ExamLinkedList {
public static void main(String[] args) {
int index;
LinkedList<String> list = new LinkedList<>();
LinkedList<String> list2 = new LinkedList<>();
list.add("A");
list.add(0, "B");
list.addFirst("C");
list.addLast("D");
System.out.println("list 를 처음부터 index 와 값을 출력");
for(String str:list){
index = list.indexOf(str);
System.out.println("index:"+index+" value:"+str);
}
System.out.println("list 에 B값이 있는지 : ");
boolean boo = list.contains("B");
System.out.println(boo);
System.out.print("list 에 처음값 : ");
System.out.println(list.getFirst());
System.out.print("list 에 마지막값 : ");
System.out.println(list.getLast());
System.out.println("list 를 처음부터 index 와 값을 출력");
for(String str:list){
index = list.indexOf(str);
System.out.println("index:"+index+" value:"+str);
}
list2.add("A"); list2.add("C"); list2.add("A"); list2.remove(1);
System.out.print("list2 의 값이 list에 모두 포함되었는지 : ");
boo = list.containsAll(list2);
System.out.println(boo);
System.out.println("list2 를 처음부터 index 와 값을 출력");
for(String str:list2){
index = list2.indexOf(str);
System.out.println("index:"+index+" value:"+str);
}
System.out.print("list2 가 비었는지 : ");
System.out.println(list2.isEmpty());
Iterator<String> iter = list.iterator();
System.out.println("iterator 를 사용해 다음값 출력");
System.out.println(iter.next());
System.out.println(iter.next());
System.out.println(iter.next());
System.out.println(iter.next());
System.out.print("iter 에 다음값이 존재하는지 : ");
System.out.println(iter.hasNext());
list.clear();
System.out.print("list 를 clear : ");
System.out.println(list.isEmpty());
}
}
출력
index:0 value:C
index:1 value:B
index:2 value:A
index:3 value:D
list 에 B값이 있는지 :
true
list 에 처음값 : C
list 에 마지막값 : D
list 를 처음부터 index 와 값을 출력
index:0 value:C
index:1 value:B
index:2 value:A
index:3 value:D
list2 의 값이 list에 모두 포함되었는지 : true
list2 를 처음부터 index 와 값을 출력
index:0 value:A
index:0 value:A
list2 가 비었는지 : false
iterator 를 사용해 다음값 출력
C
B
A
D
iter 에 다음값이 존재하는지 : false
list 를 clear : true
'SW > 자료구조' 카테고리의 다른 글
ArrayList 어레이리스트 (0) | 2017.01.23 |
---|---|
Arrays 배열 (0) | 2017.01.23 |