본문 바로가기
카테고리 없음

48. Java Collections Framework(컬렉션 프레임웍), List, Set, Map

by 꼼꼼한 에프큐피 2023. 3. 7.

1. 컬렉션(collection)

  1) 여러 객체(데이터)를 모아 놓은 것을 의미한다.

  2) 유지보수가 쉽다.

 

2. 프레임웍(framework)

  1) 표준화, 정형화된 체계적인 프로그래밍 방식을 말한다.

 

3. 라이브러리

  1) 도서관이란 의미로 프로그램에서는 해당 기능들을 모아놓은 것을 말한다.

  2) 기능만 제공한다.

 

4. 컬렉션 프레임웍(collections framework)

  1) 컬렉션(다수의 객체)을 다루기 위한 표준화된 프로그래밍 방식이다.

  2) 컬렉션을 쉽고 편리하게 다룰 수 있는 다양한 클래스를 제공한다.

  3) java.util 패키지에 포함되어 있다. JDK 1.2부터 제공한다.(표준화함)

 

5. 컬렉션 클래스(colletions class)

  1) 다수의 데이터를 저장할 수 있는 클래스를 말한다.(Vector, ArrayList, HashSet 등)

 

6. 컬렉션 프레임웍의 핵심 인터페이스

  1) List

    ① 순서가 있는 데이터의 집합이다.

    ② 중복을 허용한다.

    ③ 예) 대기자 명단에 사용

    ④ 구현클래스 : ArrayList, LinkedList, Stack, Vector 등이 있다.

  2) Set

    ① 순서를 유지하지 않는 데이터의 집합이다.

    ② 중복을 허용하지 않는다.

    ③ 예) 양의 정수 집합, 소수 집합

    ④ 구현 클래스 : HashSet, TreeSet 등이 있다.

  3) Map

    ① 키(key)와 값(Value)의 쌍(pair)으로 이루어진 데이터의 집합이다.

    ② 순서는 유지되지 않는다.

    ③ 키는 중복을 허용하지 않고, 값은 중복을 허용한다.

    ③ 예) 우편번호, 지역번호(전화번호) 

    ④ 구현 클래스 : HashMap, TreeMap, HashTable, Properties 등이 있다.

 

7. Collection 인터페이스의 메서드

  1) Collection 인터페이스는 List와 Set의 공통 부분을 뽑아낸 것이 Collection 인터페이스다.

  2) 메서드의 목록은 다음과 같다.

    ① boolean add(Object o), boolean addAll(Collection c) : 저장된 객체(o) 또는 Collection(c) 의 객체들을 Collection에 추가한다.

    ② void clear() : Collection의 모든 객체를 삭제한다.

    ③ boolean contains(Object o), boolean containsAll(Collection c) : 저장된 객체(o) 또는 Collection(c) 의 객체들이 Collection에 포함되어 있는지 확인한다.

    ④ boolean equals(Object o) : 동일한 Collection인지 비교한다.

    ⑤ int hashCode() : Collection의 hash code를 반환한다.

    ⑥ boolean isEmpty() : Collection이 비어있는지 확인한다.

    ⑦ Iterator iterator() : Collection의 iterator을 얻어서 반환한다.

    ⑧ boolean remove(Object o), boolean removeAll(Collection c) : 저장된 객체(o) 또는 Collection(c)에 포함된 객체들을 삭제한다.

    ⑨ boolean retainAll(Collection c) : 지정된 Collection에 포함된 객체만을 남기고 다른 객체들은 Collection에서 삭제한다. 이 작업으로 인해 Collection에 변화가 있으면 true를 반환하고, 변화가 없으면 false를 반환한다.

    ⑩ int size() : Collection에 저장된 객체의 개수를 반환한다.

    ⑪ Object[] toArray() : Collection에 저장된 객체를 객체배열(Object[])로 반환한다.

    ⑫ Objcet[] toArray(Object[ ] a) : 지정된 배열에 Collection의 객체를 저장해서 반환한다.

 

8. List 인터페이스(중복과 순서 O)

  1) 메서드 목록은 다음과 같다. Collection 인터페이스의 메서드를 사용할 수 있다.(Collection의 자손이다.)

    ① void add(int index, Object element) : 지정된 위치(index)에 객체(element) 또는 컬렉션에 포함된 객체들을 추가한다.

    ② boolean addAll(int index, Collection c) : 지정된 위치(index)에 객체(element) 또는 컬렉션에 포함된 객체들을 추가한다.

    ③ Object get(int index) : 지정된 위치(index)에 있는 객체를 반환한다.

    ④ int indexOf(Object o) : 지정된 객체의 위치(index)를 반환한다.(List의 첫 번째 요소부터 순방향으로 찾는다.)

    ⑤ int lastIndexOf(Object o) : 지정된 객체의 위치(index)를 반환한다.(List의 마지막 요소부터 역방향으로 찾는다.)

    ⑥ Listliteral listliteral(), Listliteral listliteral(int index) : List의 객체에 접근할 수 있는 Listliteral을 반환한다.

    ⑦ Object remove(int index) : 지정된 위치(index)에 있는 객체를 삭제하고, 삭제된 객체를 반환한다.

    ⑧ Object set(int index, Object element) : 지정된 위치(index)에 객체(element)를 저장한다.

    ⑨ void sort(Comparator c) : 지정된 비교자(comparator)로 List를 정렬한다.

    ⑩ List subList(int fromIndex, int tolndex) : 지정된 범위(fromIndex부터 toIndex)에 있는 객체를 반환한다.

 

9. set 인터페이스(중복과 순서 X)

  1) set 인터페이스는 HashSet과 TreeSet이 중요하다.

  2) Collection 인터페이스의 메서드를 사용할 수 있다.(Collection의 자손이다.)

  3) Set은 집합이기 때문에 집합과 관련한 메서드들은 다음과 같다. 

    ① boolean addAll(Collection C) : 지정된 Collection(c)의 객체들을 Collection에 추가한다.(합집합)

    ② boolean containsAll(Collection c) : 지정된 Collection의 객체들이 Collection에 포함되어 있는지 확인한다.(부분집합)

    ③ boolean removeAll(Collection c) : 지정된 Collection(c)에 포함된 객체들을 삭제한다.(차집합)

    ④ boolean retainsAll(Collection c) : 지정된 Collection(c)의 포함된 객체들만 남기고, 나머지는 Collection에서 삭제한다.(교집합)

 

10. Map 인터페이스(순서 x, 중복(키 x, 값 O)

  1) hashMap과 TreeMap이 중요하다.

  2) LinkedHashMap은 순서가 있는 hashMap이다.

  3) Map 인터페이스의 메서드는 다음과 같다.

    ① void clear() : Map 의 모든 객체를 삭제한다.

    ② boolean containsKey(Object key) : 지정된 key 객체와 일치하는 Map의 Key 객체가 있는지 확인한다.

    ③ boolean containsValue(Collection value) : 지정된 value객체와 일치하는 Map의 value객체가 있는지 확인한다.

    ④ Set entrySet() : Map에 저장되어 있는 key-value 쌍을 Map.Entry 타입의 객체로 저장한 Set으로 반환한다.

    ⑤ boolean equals(Object o) : 동일한 Map인지 비교한다.

    ⑥ int hashCode() : Map의 hash code를 반환한다.

    ⑦ Object get(Object key) : 지정한 key객체에 대응하는 value 객체를 찾아서 반환한다.

    ⑧ boolean isEmpty() : Map이 비어있는지 확인한다.

    ⑨ Set keySet() : Map에 저장된 모든 key 객체를 반환한다.

    ⑩ Object put(Object key, Object value) : Map에 value객체를 key 객체에 연결(mapping)하여 저장한다.

    ⑪ void putAll(Map t) : 지정된 Map의 모든 key-value 쌍을 추가한다.

    ⑫ Object remove(Object key) :  지정한 key객체와 일치하는 key-value 객체를 삭제한다.

    ⑬ int size() : Map에 저장된 key-value 쌍의 개수를 반환한다.

    ⑭ Collection values() : Map에 저장된 모든 value 객체를 반환한다.

댓글


"); wcs_do();