티스토리 뷰

반응형

 

51. List 인터페이스

| array list 와 vector

객체 배열 클래스

vector 은 자바 2 부터 제공된 클래스

일반적으로 arraylist 를 더 많이 사용

동기화(synchronization): 두개의 쓰레드가 동시에 하나의 리소스에 접근할 떄 순서를 맞춰서 데이터 오류가 방지하지 않도록 한다.

capacity와 size 는 다른의미

package collection;

import java.util.LinkedList;

public class LinkedListTest {

	public static void main(String[] args) {

		LinkedList<String> myList = new LinkedList<String>();
		
		myList.add("A");
		myList.add("B");
		myList.add("C");
		
		System.out.println(myList);
		myList.add(1, "D");
		System.out.println(myList);
		myList.removeLast();
		System.out.println(myList);
		
		for(int i=0; i<myList.size(); i++) {
			String s = myList.get(i);
			System.out.println(s);
		}
	}

}

| List 인터페이스

collection 하위 인터페이스

객체를 순서에 따라 저장하고 관리하는데 필요한 메서드가 선언된 인터페이스

배열의 기능을 구현하기 위한 메서드가 선언됨

ArrayList Vector, LinkedList

 

 

52. Stack과 Queue 구현하기

package collection;

import java.util.ArrayList;
import java.util.PriorityQueue;

class MyStack {

	private ArrayList<String> arrayStack = new ArrayList<String>();
	
	public void push(String data) {
		arrayStack.add(data);
	}
	
	public String pop() {
		int len = arrayStack.size();
		if (len == 0) {
			System.out.println("˝şĹĂŔĚ şńžú˝Ŕ´Ď´Ů.");
			return null;
		}
		return arrayStack.remove(len-1);
	}
	
    
}


public class StackTest{
	
	public static void main(String[] args) {
		MyStack stack = new MyStack();
		stack.push("A");
		stack.push("B");
		stack.push("C");
		
		System.out.println(stack.pop());
		System.out.println(stack.pop());
		System.out.println(stack.pop());
		System.out.println(stack.pop());
		
	}
}

 

 

바 인강이 듣고 싶다면 =>https://bit.ly/3ilMbIO

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함