노션으로 다시 돌아갔습니다 😅

[Collection FrameWork] Collection, List, Iterator (Methods)

by mignon25

 Collection Framework란?

특정 자료 구조에 데이터 추가, 삭제, 수정, 검색 등의 동작을 수행하는 편리한 메서드들을 제공해준다.
  • 컬렉션 :  데이터들의 집합을 의미.
  • 컬렉션 프레임워크 : 컬렉션을 다루는 데에 있어 편리한 메서드들을 미리 정의해놓은 것

 

 

Collection Framework의 핵심 인터페이스

핵심 인터페이스 간의 상속계층도

  1. List
    • 순서가 있는 데이터의 집합.
    • 데이터의 중복 허용
    • 구현 클래스 : ArrayList, LinkedList, Stack, Vector 등
  2. Set
    • 순서를 유지하지 않는 데이터의 집합.
    • 데이터의 중복을 허용하지 않는다.
    • 구현 클래스 : HashSet, TreeSet 등
  3. Map
    • 키(key)와 값(value)의 쌍으로 이루어진 데이터의 집합
    • 순서는 유지되지 않으며, 키는 중복을 허용하지 않고, 값은 중복을 허용한다.
    • 구현 클래스 : HashMap, TreeMap, HashTable, Properties 등

 

 

Collection 인터페이스 메서드

기능 리턴 타입 메서드(매개변수) 설명
추가 boolean add(Object o)
addAll(Collection c)
주어진 객체(o) 또는 Collection(c)의 객체들을 Collection에 추가한다.
검색 boolean contains(Object o)
containsAll(Collection c)
주어진 객체 및 컬렉션이 포함되어 있는지 여부를 리턴
  Iterator iterator() 컬렉션의 iterator를 리턴
  boolean equals(Object o) 동일한 컬렉션인지 비교
  boolean isEmpty() 컬렉션이 비어있는지 확인
  int size() 저장되어 있는 전체 객체 수 리턴
삭제 void clear() 컬렉션에 저장된 모든 객체 삭제
  boolean remove(Object o)
removeAll(Collection c)
주어진 객체 및 컬렉션을 삭제하고 성공 여부 리턴
  boolean retainAll(Collection c) 주어진 컬렉션(c)을 제외한 모든 객체를 컬렉션에서 삭제하고 컬렉션에 변화가 있는지 여부를 리턴
변환 Object[] toArray() 컬렉션에 저장된 객체를 객체배열(Object[])로 반환
  Object[] toArray(Object[] a) 지정된 배열에 Collection의 객체를 저장해서 반환

 

 

List 인터페이스 메서드

(Collection 인터페이스로부터 상속받은 것 제외)

기능 리턴 타입 메서드(매개변수) 설명
추가 void add(int index, Object o) 주어진 인덱스에 객체를 추가
  boolean addAll(int index, Collection c) 주어진 인덱스에 컬렉션을 추가
추가?
수정?
Object set(int index, Object o) 지정된 위치(index)에 객체(o)를 저장한다.
검색 Object get(int index) 주어진 인덱스에 저장된 객체를 반환
  int indexOf(Object o)
lastIndexOf(Object o)
순방향 / 역방향 으로 탐색하여 주어진 객체의 위치를 반환
  ListIterator listIterator()
listIterator(int index)
List의 객체를 탐색할 수 있는 ListIterator 반환 / 주어진 index 부터 탐색할 수 있는 ListIterator 반환
  List subList(int from, int to) 지정된 범위(from 부터 to 전까지)에 있는 객체를 반환한다. 
(from, to는 인덱스)
삭제 Object remove(int index) 주어진 인덱스에 저장된 객체를 삭제하고 삭제된 객체를 반환
정렬 void sort(Comparator c) 주어진 비교자(comparator)로 List를 정렬

 

 

Iterator 

컬렉션에 저장된 요소들을 순차적으로 읽어오는 역할
Collection 인스턴스에 정의된 iterator()를 호출하면, iterator 타입의 인스턴스가 반환된다. 
메서드 설명
hasNext() 읽어올 객체가 남아 있으면 true 리턴, 없으면 false 리턴
next() 컬렉션에서 하나의 객체를 읽어온다. 
이 때, next()를 호출하기 전에 hasNext()를 통해 읽어올 다음 요소가 있는지 먼저 확인해야 한다.
remove() next()를 통해 읽어온 객체를 삭제한다. 
next()를 호출한 다음에 remove()를 호출해야 한다. 

 

'Java' 카테고리의 다른 글

메타 애너테이션(meta-annotation)  (0) 2023.03.08
[Collection FrameWork] ArrayList, LinkedList  (0) 2023.03.08
[Collection Framework] Map<K, V>  (0) 2023.03.06
열거형 (Enum)  (0) 2023.03.06
DI(Dependency Injection) 맛보기  (0) 2023.03.03

블로그의 정보

Mignon'S Dev Log

mignon25

활동하기