Collections 유틸

2024. 8. 3. 00:06JAVA/복습

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