개발자 미니민의 개발스터디

[JAVA] 자바 - LinkedList<E> 클래스/Stack 클래스

by mini_min

[JAVA]
자바 - LinkedList<E> 클래스/Stack 클래스

✔️ LinkedList<E> 클래스

LinkedList<E> 클래스List 인터페이스 및 Deque 인터페이스를 구현한 클래스다.

ArrayList와 달리 데이터 추가 삭제시 불필요한 복사가 일어나지 않는다. 앞뒤로 데이터를 추가, 삭제하는 경우 속도가 빠르다. (중간에 추가 삭제가 빈번하면 속도 떨어짐)

데이터 검색은 ArrayList에 비해 느리며, 멀티 쓰레드 환경에서 동기화되지 않는다.

 

public static void main(String[] args) {
		List<String> list1 = new ArrayList<>();
		list1.add("자바");
		list1.add("오라클");
		list1.add("서블릿");
		disp(list1);
		
		List<String> list2 = new LinkedList<>();
		list2.add("HTML");
		list2.add("CSS");
		list2.add("javascript");
		disp(list2);
		
	}
	
	public static void disp(List<String> list) {	//둘다 출력 가능
		for(String s : list) {
			System.out.println(s + "  ");
		}
		System.out.println();
	}

 

 

 

✔️ Stack 클래스

스택 클래스는 Vector 의 하위 클래스다. 벡터 클래스의 메소드는 쓰지 않으며, 'LIFO 구조' 로 되어있다.

 

◾ 주요 메소드

push () : 스택에 데이터 저장
pop () : top요소 반환 후 삭제
peak() : top요소 반환 후 삭제하지 않음

 

public static void main(String[] args) {
		Stack<String> ss = new Stack<>();
		
		
		ss.push("서울");
		ss.push("부산");
		ss.push("대구");
		ss.push("인천");
		ss.push("광주");
		ss.push("대전");
		
		while(! ss.empty()) {
			String s = ss.pop();	//꺼꾸로 나온다. 
			System.out.print(s + "  ");
		}

 

💡Last In (마지막으로 들어간 값) 이 먼저 나오는 형태를 'LIFO' 구조라고 한다.

 

 

 

 

 

블로그의 정보

개발자 미니민의 개발로그

mini_min

활동하기