본문 바로가기

프로그래밍/JAVA

컬렉션 Collection

Collection 이란 ? 같은 타입의 참조값을 여러 개 저장하기 위한 자바 라이브러리

Collection framework 이란 ? 컬렉션들을 한 곳에 모아서 편리하게 사용할 수 있도록 관리하는 표준화된 구조


Collection 안에는 List, Set, Map 이 있다. 




가장 상위 인터페이스 : Iterator 

(다음데이터가 있는지, 없는지 같은 hasNext() 메소드가 있다. 



컬렉션 인터페이스 : Collection 인터페이스

주요메소드

boolean add(요소) : 전달된 요소를 추가 

void add(int 위치, 요소) : 지정한 위치에 요소를 추가 

boolean remove(객체) : 컬렉션에서 전달된 객체를 제거 

boolean equals(객체) : 해당 컬렉션과 전달된 객체가 같은지 체크

int size() : 총 개수를 반환

void clear() : 모든 요소를 제거

boolean is Empty() : 해당 컬렉션이 비어있는지 확인, 비어있으면 true값 반환





List 인터페이스 : 순서대로 데이터를 저장하고 색인을 이용하여 특정위치에 데이터 삽입, 삭제, 변경을 할 수 있다. 중복된 데이터도 허용, LinkedList, ArrayList 있다.

ArrayList, LinkedList 보다 List를 사용하는 이유는ArrayList로 설정해주면 ArrayList만의 특징만을 가져야 하는데 List로 설정해주면 나중에 LinkedList, ArrayList 의 자료구조 특징을 모두 가질 수 있다. 


ArrayList 의 주요 메소드

선언형식 : List<요소타입>객체명 = new ArrayList<요소타입>();

-add(요소)

-void add(int 위치, 요소)

-boolean remove(int 위치)

-set(int 위치, 요소)

-get(int 위치) 

-void clear()

-indexOff(요소) : 찾고자 하는 요소가 들어있는 맨 첫번째 위치를 반환


Set 인터페이스 : 중복을 허용하지 않는다. 자료 순서를 유지하지 않는다.

HashSet, TreeSet

HashSet : 내부적으로 해싱을 이용하여 구현, 순서유지를 원한다면 LinkedHashSet 이용

HashSet 선언형식 및 주요메소드

Set<자료형타입> =new HashSet<>();


메소드는 중복된 값이 없어야 실행된다. 

-boolean add(요소)

-boolean remove(요소)

-boolean isEmpty()

-int size()

-void clear()

-boolean contains(요소) : 찾고자 하는 요소가 포함 된 경우 true 값 반환



Map 인터페이스 : 독립적인 구조, 데이터를 처리할 때 키와 값이 쌍으로 저장되는 형태이다. 키의 값은 중복 미허용, 값은 중복 허용

HashMap, HashTable

HashMap 선언형식 및 주요메소드 

Map<키 타입, 값 타입> 객체 = new HashMap<키 타입, 값, 타입>();  회색 배경은 <> 로 생략 가능


-boolean put(키, 값)

-boolean remove(키)

-boolean isEmpty()

-int size()

-Set<key>KeySet : 맵에 들어있는 키 목록을 set으로 읽어옴

-void clear()

boolean containsKey(키 값) : 찾고자 하는 키가 포함 된 경우 true 값 반환