컬랙션이란
자바에는 여러 타입의 변수와 이를 쉽게 관리 할 수 있는 컬랙션이있습니다. 이때 컬랙션으로는 다음과 같은 컬랙션이 있습니다.
- ArrayList
- Set
- Map
- Queue
- Stack 등
컬랙션의 공통된 특징으로는 배열과는 다르게 사이즈의 제약이 없습니다. 예를 들어 int[10]과 같은 배열은 10개의 자료만 저장할 수 있지만 컬랙션은 추가함수(ex) .add)를 이용하여 많은 자료를 저장 할 수 있습니다. 각 컬랙션은 조금씩 다른 특징을 가지고 있습니다. 그 특징은 다음과 같습니다.
- ArrayList : list와 같은 방식의 컬랙션입니다.
- Set : 순서가 없고, 중복이 없다. 중복을 확인하는 것에 특화된 컬랙션입니다.
- Map : key와 value가 있어서 key에 따른 value를 쉽게 찾을 수 있습니다. 이때, key는 중복될 수 없습니다.
- Queue : input된 순서대로 output됩니다. 선입선출을 하는 컬랙션입니다.
- Stack : input된 순서와 반대로 output됩니다. 선입후출을 하는 컬랙션입니다.
실습 중 문제발생
과제에서 list, map set을 이용하여 요리 레시피를 입력받은 순서대로 출력하는 과제를 하는 중에 set에서 문제를 발견했습니다. 이때 LinkedHashSet()이라는 set컬랙션을 발견했습니다.
- Set<String> set = new LinkedHashSet<>()
이 set컬랙션은 HashSet, TreeSet과 다르게 입력받은 순서대로 정렬되어있다는 장점이 있지만 그만큼 성능이 떨어집니다.
- HashSet : 기본적인 set과 동일하게 중복 없이 입력을 받고, 정렬에도 순서가 없습니다.
- TreeSert : 중복 없이 입력을 받고, 사전순서대로 정렬을 합니다.
'TIL' 카테고리의 다른 글
TIL) 개인과제 자바로 계산기 구현하기 (1) | 2024.10.11 |
---|---|
TIL) 자바의 예외처리와 제네릭, 정규표현식 (0) | 2024.10.10 |
TIL) 상속과 오버라이딩 (0) | 2024.10.07 |
TIL) 자바 클래스의 구성 (1) | 2024.10.04 |
TIL) git hub commit / push에러와 JQuery를 이용한 자바스크립트 (2) | 2024.10.02 |