Collection Framework Interface정리

박종훈·2023년 2월 28일
0

## Collection Interface Collection은 데이터의 집합이다. 그러면 데이터를 모아놓았을 때 당연히 필요한 기능들이 있을것이다.
  • 데이터 넣기
    • 하나
    • 여러 개
  • 데이터 제거
    • 하나
    • 여러 개
    • 일부 설정값 제거
    • 일부 남기고 제거
  • 데이터 확인
    • 크기
    • 특정 데이터 보유 여부
    • 특정 데이터 집합 보유 여부
    • 비어있는지
  • 데이터 집합 비교
  • 배열로 전환
  • iterator() 반환

위 기능들을 외우려하지말고 데이터 집합을 가지고 할 수 있는 것들을 생각해보면 당연하게 느껴지는 것들이 많다.

각 기능들을 추상화 해두자.

삽입, 제거, 확인, 비교, 전환


List Interface

List Interface는 Collection interface를 상속한다.
list는 순서가 있고 중복을 허용하는 데이터 집합이다.


따라서 List는 Collection의 기능에 순서가 더해졌다고 생각하면 된다.

  • 데이터 넣기

    • 하나 & 어디에 삽입
    • 여러 개 & 어디에 삽입
  • 데이터 제거

    • 하나 & 어디위치
    • 여러 개
    • 일부 설정값 제거
    • 일부 남기고 제거
  • 데이터 확인

    • 어디 위치 데이터 확인
    • 데이터 위치확인
    • 크기
    • 특정 데이터 보유 여부
    • 특정 데이터 집합 보유 여부
    • 비어있는지
  • 데이터 순서 정렬

  • 데이터 집합 비교

  • 배열로 전환

  • iterator() 반환


Map Interface

Key (중복 불가능) : Value (중복 가능) 로 구성되어있다.
앞선 Collection과는 데이터 형태가 다르다.
당연히 Collection을 상속하지 않는다.

  • 삽입
    • Key : Value 삽입
    • Map 삽입
  • 제거
    • Key 값으로 제거
  • 확인
    • 크기
    • key 값들
      • 중복되지 않은 값들의 집합. 따라서 return Set 가능
    • Value 값들
      • 중복가능한 값들 이므로 당연히 return Collection 이다.
    • 비었는지 확인
    • key값으로 value 확인

Map.Entry Interface

Map interface 안에 static interface로 선언되어 있다.
어떻게 구현되어 있을까?

public class HashMap<K,V> extends AbstractMap<K,V>
    implements Map<K,V>, Cloneable, Serializable {

	static class Node<K,V> implements Map.Entry<K,V> {

   	}
}

0개의 댓글