[Java] 컬렉션 프레임워크

rara_kim·2022년 6월 13일
0

Java

목록 보기
15/39

컬렉션 프레임워크(Collection Framework)

컬렉션 프레임 워크란?

자바에서 컬렉션 프레임워크(Collection Framework)란 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합을 의미한다.
즉, 데이터를 저장하는 자료구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은 것이다.

컬렉션 프레임워크는 자바의 인터페이스(interface)를 사용하여 구현된다.


컬렉션 프레임워크 주요 인터페이스

1️⃣List 인터페이스
2️⃣Set 인터페이스
3️⃣Map 인터페이스

List와 Set 인터페이스는 모두 Collection 인터페이스를 상속받지만, 구조상의 차이로 인해 Map 인터페이스는 별도로 정의된다.
List와 Set의 공통된 부분을 Collection 인터페이스에서 정의하고 있다.


List 인터페이스

  • 순서가 있는 데이터의 집합
  • 데이터의 중복을 허용
  • 대표적 구현 클래스(ArrayList,LinkedList,Vector,Stack,Queue)
ArrayList list1 = new ArrayList();
list1.add(1);
list1.add(2);
list1.remove(Integer.valueOf(2));
list1.add(0, 10);
System.out.println("list1.contains(1) = " + list1.contains(1));


LinkedList list2 = new LinkedList();
list2.add(1);
list2.add(2);
list2.addFirst(3);
System.out.println(list2);

Set 인터페이스

  • 순서가 없는 데이터의 집합
  • 데이터의 중복을 허용하지 않음
  • 대표적 구현 클래스(HashSet,TreeSet)
HashSet set1 = new HashSet();
set1.add(1);
set1.add(2);
set1.remove(1);

System.out.println(set1.add(3));
System.out.println(set1);


TreeSet set2 = new TreeSet();
set2.add(2);
set2.add(1);
set2.add(3);
set2.remove(2);
set2.clear();

System.out.println(set2.first());
System.out.println(set2.last());
System.out.println(set2.lower(2));

Map 인터페이스

  • keyvalue의 쌍으로 이루어진 데이터 집합
  • 순서를 유지하지 않음
  • key는 중복을 허용하지 않지만, value는 중복될 수 있음
  • 대표적 구현 클래스(HashMap,TreeMap,Hashtable)
HashMap map1 = new HashMap();
map1.put(1, "kiwi");
map1.put(2, "apple");
map1.put(3, "mango");
map1.remove(2);

System.out.println(map1.get(1));


TreeMap map2 = new TreeMap();
map2.put(10, "Apple");
map2.put(20, "kiwi");
map2.put(30, "mango");

System.out.println(map2);

Collection 인터페이스

List와 Set 인터페이스의 많은 공통된 부분을 Collection 인터페이스에서 정의하고, 두 인터페이스는 그것을 상속받는다.
따라서 Collection 인터페이스는 컬렉션을 다루는데 가장 기본적인 동작들을 정의하고, 그것을 메소드로 제공하고 있다.

Method설명
booelan add(E e)해당 컬렉션(collection)에 전달된 요소를 추가(선택적 기능)
void clear()해당 컬렉션의 모든 요소를 제거(선택적 기능)
boolean contains(Object o)해당 컬렉션이 전달된 객체를 포함하고 있는지를 확인
boolean equals(Object o)해당 컬렉션과 전달된 객체가 같은지를 확인
boolean isEmpty()해당 컬렉션이 비어있는지를 확인
Iterator iterator()해당 컬렉션의 반복자(iterator)를 반환
boolean remove(Object o)해당 컬렉션에서 전달된 객체를 제거(선택적 기능)
int size()해당 컬렉션의 요소의 총 개수를 반환
Object[] toArray()해당 컬렉션의 모든 요소를 Object 타입의 배열로 반환
profile
느리더라도 꾸준하게

0개의 댓글