본문 바로가기

Java/java 기초

LinkedList

package main;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Vector;

public class mainClass {
	public static void main(String[] args) {
//		
//		ArrayList: 검색		== Vector
//		LinkedList: 추가, 삭제(실시간)
//		
//		검색에서는 괜찮으나 추가 삭제에는 약하다 
		Vector<String> vec = new Vector<String>();
		vec.add("라이온즈");
		vec.size();
		
		LinkedList<String> list = new LinkedList<String>();
		
		//리스트 = 인터페이스 Linked와 ArrayList는 부모가 동일하다.
//		List<String> list = new LinkedList<String>();
		
//		if(list.isEmpty()) {
//			System.out.println("데이터가 하나도 없습니다.");
//			return;
//		}
		
		list.add("Tigers");
		list.add("Giants");
		list.add(1, "Lions");
		
		for (int i = 0; i < list.size(); i++) {
			String s = list.get(i);
			System.out.println(s.toString());
		}
		System.out.println();
		// 링크드 리스트에만 있다
		// 맨 처음 요소에 추가
		list.addFirst("Bears");
		
		//맨 끝 요소에 추가
		list.addLast("Twins");
		
		for (String string : list) {
			System.out.println(string);
		}
		
		//iterator : 반복자 == 포인터(주소)
		Iterator<String> it; // String s;
		
		it = list.iterator();
		
		while(it.hasNext()) {
			String string = it.next();
			System.out.println("it: " + string);
		}
		
		//링크드 리스트를 어레이 리스트에 넘겨준다.
		ArrayList<String> arrList = new ArrayList<String>(list);
		
		for (int i = 0; i < arrList.size(); i++) {
			System.out.println(arrList.get(i));
		}
		
	}
}