Collections 유틸
2024. 8. 3. 00:06ㆍJAVA/복습
Collections 는 자료구조를 다룰 때 여러 유용한 기능을 제공한다.
max(), mix() 이라던가
저장 순서에 관여하는 sort()나,
랜덤하게 바꿔주는 shuffle() 이라던가
등의 다양한 기능을 제공한다.
of()
List, Set, Map 과 같은 자료 구조에는 of() 생성자가 있다.
List.of(자료1, 자료2, 자료3);
Set.of(자료1, 자료2, 자료3);
Map.of(자료1<키, 값>, 자료2<키, 값>, 자료3<키, 값>);
of() 를 통해 생성된 자료구조는 '불변성'을 띈다.
따라서, of() 메서드의 인자로 처음 값을 넣어 생성한 뒤로는 변경되지 않는다.
불변 자료구조가 필요할 때 적극 활용하자.
가변 자료구조가 필요하다면?
자료구조 구현체의 생성자를 호출할 때 인자값으로 of()를 통해 만들어진 자료구조를 넘겨주면,
불변 자료구조의 값들을 복사해 새로운 자료구조를 만들어준다.
List ImuttableList = List.of(자료1,자료2,자료3);
List baGGulSSuIssirList = new ArrayList(ImuttableList);
ide 통해서 가끔 보이던 asList 는 뭘까?
Arrays.asList()?
인자값들을 넣은 배열을 갖는 리스트를 만들어준다.
크기는 고정돼서 변하지 않고, 요소들은 변경 가능하다.
크기 변경 시도 시 (저장 수 예상치 상회 등), 예외가 발생한다.
배열 길이의 한계를 극복하려고 만든 List 인데, 거기서 다시 한계점을 만드니 굳이 쓸 필요가 없다.
of() 는 자바9 에서 실장된 기능이라고 한다.
'JAVA > 복습' 카테고리의 다른 글
| 정렬 - Comparatable, Comparator (0) | 2024.08.02 |
|---|---|
| 순회 - Iterable, Iterator (0) | 2024.08.02 |
| Map (0) | 2024.08.02 |
| Set 인터페이스 (1) | 2024.08.01 |
| Set - HashSet (0) | 2024.07.31 |