티스토리 뷰

JAVA/PRIMER

[JAVA] LinkedList

yulrang 2018. 4. 19. 14:11
import java.util.ArrayList;
import java.util.LinkedList;


public class LinkedList클래스1 {

	public static void main(String[] args) {
		// 어레이리스트 : 배열을 이용한 리스트
		ArrayList<Integer> al = new ArrayList<Integer>();
		al.add(1);	al.add(1); al.add(1);
		System.out.println(al);
		
		// 링크드리스트 : 노드를 이용한 리스트
		// 각각의 노드는 연결 노드의 주소값을 저장하고 있음
		LinkedList<Integer> ll = new LinkedList<Integer>();
		ll.add(1);	ll.add(2);	ll.add(3);
		System.out.println(ll);
		
		// LinkedList는 몇 개의 참조자만 바꿈으로써 새로운 자료의 삽입이나 기존 자료의 삭제를
		// 위치에 관계없이 빠른 시간안에 수행 할 수 있음
		// 그러나 순차적인 탐색, 노드가 중간에 삭제될 경우 다시 연결해주어야 하는 단점
		
		// http://www.nextree.co.kr/p6506/
	}

}
[1, 1, 1]
[1, 2, 3]

import java.util.LinkedList;


public class LinkedList클래스2 {

	public static void main(String[] args) {
		LinkedList<String> ll = new LinkedList<String>();
		
		ll.add("월");
		ll.add("화");
		ll.add(1, "수");
		
		ll.set(2, "목");
		
		// index에 해당하는 값을 반환
		System.out.println( ll.get(2) );
		
		// index에 해당하는 값을 삭제하고 반환
		System.out.println( ll.remove(0) );
		System.out.println( ll.remove("수") );
		
		// 값에 해당하는 인덱스 값 반환 -> 없으면 -1 반환
		System.out.println( ll.indexOf("수") );
		System.out.println( ll.lastIndexOf("수") );
		
		// 빈 리스트인지 true/false로 반환
		System.out.println( ll.isEmpty() );
		
		// 리스트의 크기를 반환
		System.out.println( ll.size() );
		
		// 리스트가 해당 값을 포함하는지를 true/false로 반환
		System.out.println( ll.contains("수") );
		
		System.out.println(ll);
	}

}
true
-1
-1
false
1
false
[목]


import java.util.LinkedList;


public class LinkedList클래스3 {

	public static void main(String[] args) {
		LinkedList<String> l1 = new LinkedList<String>();
		LinkedList<String> l2 = new LinkedList<String>();
		LinkedList<String> l3 = new LinkedList<String>();
		
		l1.add("월");	l1.add("화");	l1.add("수");
		
		// 벌크 연산
		// l1의 모든 노드를 l2로 복사
		l2.addAll(l1);
		
		l1.add(0, "목");
		System.out.println(l1);
		System.out.println(l2);
		
		// l2의 모든 노드가 l1에 포함되는지 true/false
		System.out.println(l1.containsAll(l2));
	}

}
[목, 월, 화, 수]
[월, 화, 수]
true


'JAVA > PRIMER' 카테고리의 다른 글

[JAVA] HashMap  (0) 2018.04.19
[JAVA] HashSet  (0) 2018.04.19
[JAVA] ArrayList  (0) 2018.04.19
[JAVA] Wrapper클래스  (0) 2018.04.19
[JAVA] 중첩클래스  (0) 2018.04.19
댓글