자바의 컬렉션
데이터의 집합을 의미
컬렉션 인터페이스로는 List, Set, Map 등이 있음
List는 순서있는 데이터의 집합으로 중복을 허용
Set은 순서를 유지하지 않는 데이터의 집합으로 중복을 허용하지 X
Map은 key와 value의 쌍으로 이루어진 순서없는 데이터의 집합으로 key는 중복을 허용 X, value는 중복을 허용
List 컬렉션
객체를 인덱스로 관리하기 때문에 객체를 저장하면 자동 인덱스가 부여되고 인덱스로 객체를 검색, 삭제할 수 있는 기능을 제공
👉 대표적인 구현 클래스 : ArrayList, LinkedList, Vector
메서드 | 설명 |
.add(value) | 맨 뒤에 삽입 |
.remove(index) | 제거 |
.size() | 길이 |
.constain(value) | 포함 여부 (true, false 반환) |
.isEmpty() | 비어있는지 검사 |
Set 컬렉션
List 컬렉션은 선형구조를 가지고 있으므로 추가한 순서대로 저장이 되어 순서를 유지하였지만 Set컬렉션의 경우에는 저장 순서가 유지되지 않음
그렇기에 Set컬렉션은 순서 자체가 없으므로 인덱스로 객체를 검색해서 가져오는 get(index) 메서드도 없음
대신 전체 객체를 대상으로 한 번씩 반복해서 가져오는 반복자(Iterator)를 제공
반복자(Iterator)는 iterator() 메서드를 호출하면 얻을 수 있음
👉 대표적인 구현 클래스 : HashSet, TreeSet
메서드 | 설명 |
.add(value) | 맨 뒤에 삽입 |
.remove() | 제거 |
.size() | 길이 |
.constain(value) | 포함 여부 (true, false 반환) |
.isEmpty() |
비어있는지 검사 |
Map 컬렉션
키(key)와 값(value)으로 구성된 객체를 저장하는 구조를 가지고 있는 자료구조
👉 대표적인 구현 클래스 : HashMap, TreeMap, Properties
메서드 | 설명 |
.put(key, value) | key값인 value 삽입 |
.get(key) | key값인 value 리턴 |
.containsKey(key) | key값이 존재하면 true, 존재하지 않으면 false 리턴 |
.remove(key) | key값에 해당하는 데이터 삭제 |
.size() | Map의 개수 리턴 |
LinkedHashMap과 TreeMap
Map의 가장 큰 특징은 순서에 의존하지 않고 key로 value를 가져오는데 있음
하지만 가끔은 Map에 입력된 순서대로 데이터를 가져오고 싶은 경우도 있고 때로는 입력된 key에 의해 소트된 데이터를 가져오고 싶을 수도 있음
이런경우 LinkedHashMap과 TreeMap을 사용하는 것이 유리함
🍋 LinkedHashMap은 입력된 순서대로 데이터가 출력되는 특징
🍋 TreeMap은 입력된 key의 소트순으로 데이터가 출력되는 특징
'면접 준비 > 코딩테스트' 카테고리의 다른 글
$(document).ready()와 $(window).load() (0) | 2020.12.11 |
---|---|
http 에러 코드 정리 (0) | 2020.12.10 |
버블 정렬, 선택 정렬, 피보나치 수열 (0) | 2020.12.08 |
리눅스 명령어 (0) | 2020.12.04 |
2차원 배열의 출력 (0) | 2020.12.03 |