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());

 }

}

 

출력

 

list 를 처음부터 index 와 값을 출력
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

+ Recent posts