컬렉션 프레임워크 (CollectionFramework)

이현주·2023년 7월 29일
1

JAVA

목록 보기
7/12
post-thumbnail

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

  • 여러 데이터를 쉽고 효과적으로 처리할 수 있도록 제공하는 클래스
  • 자료 구조(Data Structure)와 알고리즘(Algorithm)을 구조화한 클래스
  • 자바 인터페이스(Interface)를 구현한 형태로 작성된 클래스


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

>List 인터페이스

  • 목록
  • 순서 중요
  • 배열 대신 사용
  • 요소 중복 저장 가능
  • 요소 삽입/수정/삭제

>Set 인터페이스

  • 집합
  • 순서 무관
  • 순서 없는 목록
  • 요소 중복 저장 불가능

>Map 인터페이스

  • 데이터 쌍
  • 키(Key)
  • 값(value)
  • 요소 삽입/수정/삭제
  • 키는 중복저장 불가능(hash set타입) / 값은 중복저장 가능

제네릭

  • 모든 컬렉션 프레임워크는 제네릭(generic) 기반으로 구현된 클래스

  • 어떤 컬렉션 프레임워크를 생성할 때 어떤 타입을 저장할 것인지 구체적으로 명시하는 것

  • 제네릭으로 지정 가능한 타입은 오직 참조 타입(Reference Type) 만 가능

  • 기본 타입(Primitive Type)을 저장하려면 Wrapper Class 타입으로 처리


ArrayLIst<E>

  • 배열(Array)을 리스트로 구현한 클래스
  • 패키지: java.util

ArrayList의 주요 기능

-리스트 길이 자동 세팅
-요소의 추가/수정/삭제
-인덱스 기반의 접근
-특정 요소 조회
-리스트와 배열의 상호 변환

ArrayList<E>의 주요 메소드

boolean add(E element) //마지막에 element 추가. 성공하면 true 반환
void add(int index, E element) //index 위치에 element 추가
boolean addAll(Collection<? extends E> c) //마지막에 컬렉션 c의 모든 요소 추가. 성공하면 true 반환
void clear() //모든 요소 제거
boolean contains(Object o) //객체 o를 포함하고 있으면 true 반환
E get(int index) //index 위치의 요소 반환
E set(int index, E element) //index 위치의 기존 요소를 element로 변경. 변경된 요소 반환
boolean isEmpty() //비어 있으면 true 반환
E remove(int index) // index 위치의 element 제거. 제거된 요소 반환
boolean remove(Object o) //객체 o와 동일한 요소 제거. 성공하면 true 반환
int size() //요소들의 개수 반환
Object[] toArray() //리스트의 모든 요소들을 포함하는 Object 타입의 배열 반환


HashSet<E>

  • 패키지 : java.util
  • 집합을 관리하기 위한 자료 구조
  • 중복된 요소가 저장되지 않는 특성을 가짐
  • 인덱스가 없어 순서대로 저장되지 않는 특성을 가짐
  • 해시(Hash)를 이용하기 때문에 삽입, 삭제, 검색이 빠름

HashSet 주요 기능

-세트 길이 자동 세팅
-요소의 추가/수정/삭제
-리스트와 세트의 상호 변환
-교집합, 합집합, 차집합, 부분집합 등 집합 연산

HashSet<E> 주요 메소드

boolean add(E element)// element 추가. 성공하면 true 반환
boolean addAll(Collection<? extends E> c)// 컬렉션 c의 모든 요소 추가. 성공하면 true 반환
void clear() //모든 요소 제거
boolean contains(Object o)// 객체 o를 포함하고 있으면 true 반환
boolean isEmpty() //비어 있으면 true 반환
boolean remove(Object o)// 객체 o와 동일한 요소 제거. 성공하면 true 반환
boolean removeAll(Collection<? extends E> c) //컬렉션 c와 동일한 모든 요소 제거. 성공하면 true 반환
int size()// 요소들의 개수 반환
Object[] toArray() //세트의 모든 요소들을 포함하는 Object 타입의 배열 반환


HashSet<K,V>

  • 패키지 : java.util
  • 키(Key)와 값(Value)으로 하나의 Entry가 구성되는 자료 구조
  • 저장하려는 데이터는 값이고, 값을 알아내기 위해서 키를 사용
  • 값(Value)은 중복이 가능하지만 키(Key)는 중복이 불가능
  • 해시(Hash)를 이용하기 때문에 삽입, 삭제, 검색이 빠름

HashSet 주요 기능

  • 요소의 삽입/삭제/수정
  • 일치하는 키(Key) 검색
  • 일치하는 값(Value) 검색

HashSet<k,V> 주요 메소드

boolean add(E element) //element 추가. 성공하면 true 반환
boolean addAll(Collection<? extends E> c)// 컬렉션 c의 모든 요소 추가. 성공하면 true 반환
void clear() //모든 요소 제거
boolean contains(Object o) //객체 o를 포함하고 있으면 true 반환
boolean isEmpty() //비어 있으면 true 반환
boolean remove(Object o) //객체 o와 동일한 요소 제거. 성공하면 true 반환
boolean removeAll(Collection<? extends E> c)// 컬렉션 c와 동일한 모든 요소 제거. 성공하면 true 반환
int size() 요소들의 개수 반환
Object[] toArray() 세트의 모든 요소들을 포함하는 Object 타입의 배열 반환


HashMap<K,V>

  • 패키지 : java.util
  • 키(Key)와 값(Value)으로 하나의 Entry가 구성되는 자료 구조
  • 저장하려는 데이터는 값이고, 값을 알아내기 위해서 키를 사용
  • 값(Value)은 중복이 가능하지만 키(Key)는 중복이 불가능
  • 해시(Hash)를 이용하기 때문에 삽입, 삭제, 검색이 빠름

HashMap 주요 기능

  • 요소의 삽입/삭제/수정
  • 일치하는 키(Key) 검색
  • 일치하는 값(Value) 검색

HashMap<K, V> 주요 메소드

void clear() //모든 Entry 삭제
boolean containsKey(Object key) //전달된 key를 포함하고 있으면 true 반환
boolean containsValue(Object value) // 전달된 value를 포함하고 있으면 true 반환
Set<Map.Entry<K, V>> entrySet() 해시맵의 모든 Entry를 저장한 Set 반환
V get(Object key) // 전달된 key의 값(value) 반환, 없으면 null 반환
boolean isEmpty() // 해시맵이 비어 있으면 true 반환
Set keySet() // 해시맵의 모든 key를 저장한 Set 반환
V put(K key, V value) //key와 value를 하나의 Entry로 해시맵에 저장하고 저장한 value를 반환
V remove(Object key) // 전달된 key를 가진 Entry를 해시맵에서 삭제하고 삭제한 value를 반환
int size() //전체 Entry 개수 반환


Collections

  • 패키지 : java.util
  • 컬렉션을 대상으로 특정 연산을 수행할 수 있는 클래스
  • 모든 메소드가 클래스 메소드(static)로 되어 있음

Collections 주요 메소드

boolean addAll(Collection<? super T> c, T... elements) //모든 elements를 컬렉션 c에 저장
int binarySearch(List<? extends Comparable<? super T>> list, T key)// 이진검색으로 key값을 검색
T max(Collection<? extends T> coll) //컬렉션 coll에서 최대값 반환
T min(Collection<? extends T> coll)// 컬렉션 coll에서 최소값 반환
void reverse(List<?> list)// 리스트 list를 내림차순 정렬
void sort(List list)// 리스트 list를 오름차순 정렬


연관 예제 링크

깃허브주소
https://github.com/000000hj/javastudy

profile
졸려요

0개의 댓글