비버놀로지

[JAVA] 컬렉션 프레임웍의 핵심 인터페이스 - List, Set, Map 본문

LANGUAGE STUDY/JAVA

[JAVA] 컬렉션 프레임웍의 핵심 인터페이스 - List, Set, Map

KUNDUZ 2020. 8. 22. 20:26
728x90

- 자바는 객체지향 언어이다. 수많은 객체를 생성하고, 이동해야 할 경우 객체들을 저장하고 관리해야 할 공간이 필요하다. Collection Framework(Collection API)는 객체들을 저장, 검색, 삭제하는 기능 등을 제공하는 클래스들의 집합이다.

 

  • java.util.package에 정의되어 있다.
  • Collection : 모든 클래스들의 Object를 요소(element)로 저장하는 객체의 최상위 interface
  • Framework : 표준화, 정형화된 체계적인 프로그래밍 방식

 

인터페이스 특 징
List 순서가 있는 데이터의 집합, 데이터의 중복을 허용한다.
예) 대기자 명단
구현클래스 : ArrayList, LinkedList, Stack, Vector 등
Set 순서를 유지하지 않는 데이터의 집합, 데이터의 중복을 허용하지 않는다.
예) 양의 정수집합, 소수의 집합
구현클래스 : HashSet, TreeSet 등
Map 키(key)와 값(value)의 쌍(pair)으로 이루어진 데이터의 집합
순서는 유지되지 않으며, 키는 중복을 허용하지 않고, 값은 중복을 허용한다.
예) 우편번호, 지역번호(전화번호)
구현클래스 : HashMap, TreeMap, Hashtable, Properties 등
  • 스텍(Stack) : LIFO구조. 마지막에 저장된 것을 제일 먼저 꺼내게 된다.
  • 큐(Queue) : FIFO구조. 제일 먼저 저장한 것을 제일 먼저 꺼내게 된다.

		Stack<String> stack = new Stack<String>(); //stack 생성
        
		stack.push("1월");
		stack.push("2월");
		stack.push("3월");
		System.out.println(stack.pop());// 제일 마지막에 넣었던 값을 꺼냄
		System.out.println(stack.size()); //남아있는 값의 숫자
		System.out.println(stack.peek());// 빼내지는 않고, top에 저장된 값을 불러줌
		System.out.println(stack.size()); //남아있는 값의 숫자
		System.out.println(stack.pop()); //top에 있는 값을 꺼냄
		System.out.println(stack.pop()); //top에 있는 값을 꺼냄


3월
2
2월
2
2월
1월

 

LinkedList <String>queue=new LinkedList<>(); //LinkedList를 이용한 queue 만들기
		

		queue.offer("1월");		//queue에 1월추가
		queue.offer("2월");		//queue에 2월추가
		queue.offer("3월");		//queue에 3월추가
        
		System.out.println(queue.peek());	//queue 에서 다음에 나올 값
		System.out.println(queue.poll());	//queue 에서 제일 먼저 넣었던 값을 출력
		System.out.println(queue.poll());	//queue 에서 다음으로 넣었던 값을 출력
		System.out.println(queue.peek());	//queue 에서 다음에 나올 값을 출력

1월
1월
2월
3월

 

 

 

728x90

'LANGUAGE STUDY > JAVA' 카테고리의 다른 글

[JAVA] 예외처리구문 - try~catch~finally  (0) 2020.08.22
[JAVA] 예외처리(Exception handling)  (0) 2020.08.22
[JAVA] 변수의 타입  (1) 2020.08.22
[JAVA] 변수(Variable)  (0) 2020.08.22
Java 설치(Eclipse 설치하기)  (0) 2020.08.21
Comments