본문 바로가기

자바의 정석 정리

자바의 정석 - 11.1 컬렉션 프레임웍

11.1.1 컬렉션 프레임웍과 핵심 인터페이스

  • 컬렉션 프레임웍이란 데이터 군을 저장하는 클래스들을 표준화할 설계이다.
  • 컬렉션 프레임웍은 인터페이스와 다형성을 이용한 객체지향적 설계를 통해 표준화 되었기 때문에 편리하고 재사용성이 높은 코드를 작성할 수 있다는 장점이 있다.
  • 컬렉션 프레임웍에서는 컬렉션데이터 그룹을 크게 3가지 타입이 존재한다고 인식하고, 각 컬렉션을 다루는데 필요한 기능을 가진 3개의 인터페이스를 정의하였다.
    • List : 순서가 있는 데이터의 집합. 데이터의 중복을 허용함
    • Set : 순서를 유지하지 않는 데이터의 집합. 데이터의 중복을 허용하지 않음
    • Map : 키(key)와 값(value)의 쌍으로 이루어진 데이터의 집합. 키의 중복은 허용하지 않으나, 값의 중복은 허용함
    • https://images.velog.io/images/injoon2019/post/54f5f1a5-f4e7-453f-941e-f30dc62dd0e8/%EC%BB%AC%EB%A0%89%EC%85%98%20%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC%20%EA%B3%84%EC%B8%B5%EB%8F%84.PNG
  • 컬렉션 프레임웍의 모든 컬렉션 클래스들은 List, Set, Map 중의 하나를 구현하고 있고, 구현한 인터페이스의 이름이 클래스의 이르멩 포함되어 있어 이름만으로 클래스의 특징을 알 수 있음
  • Vector, Stack, Hashtable, Properties와 같은 클래스들은 컬렉션 프레임웍이 만들어지기 이전부터 존재했기 때문에 컬렉션 프레임웍의 명명법에 따르지 않음
    https://velog.velcdn.com/images%2Fappti%2Fpost%2F4e9f6b0c-c237-4327-b087-71d9fdf2bb6b%2FKakaoTalk_20210915_152537773_18.jpg
  • 💡 Vector와 같은 컬렉션 프레임웍이 만들어지기 이전에 존재하는 클래스는 설계를 변경해서 남겨두었지만, 가급적 사용하지 않는 것이 좋음

11.1.2 Colection인터페이스

  • 컬렉션을 다루는데 가장 기본적인 메서드를 정의하고 있음

11.1.2 List인터페이스

https://blog.kakaocdn.net/dn/dRdNPM/btqGpwSCUZw/aaDQX6en09eDDi8SfW9ry1/img.png

11.1.3 Set인터페이스

https://blog.kakaocdn.net/dn/bnVfu9/btqGsMmzWUv/ycXtr9dRAPBgmzsBKIxL8K/img.png

11.1.4 Map인터페이스

https://blog.kakaocdn.net/dn/cJag97/btqGvPD6arL/rws3RhxWZjd2UrkyUHAQ7k/img.png