저번 글에서는 List.CopyOf에 대해서 다뤘는데요. 이전 글: https://zerotoinfinite.tistory.com/9 Java - List의 복사 (2): List.copyOf 리스트의 복사 두 번째인 List.copyOf에 대해 알아보자! 저번 글에서 Collections.unmodifiableList에 대해 다뤘으므로 이 글을 읽기 전에 먼저 읽으시면 이해가 잘 될 겁니다! 이전 글: https://zerotoinfinite.tisto zerotoinfinite.tistory.com 오늘은 리스트 내 원소(객체)들 까지 복사하여 새로운 리스트를 만드는 법에 대해 알아보겠습니다!! 방법만 아는 것은 의미가 없다고 생각합니다. 언제 어느 상황에 리스트 내 객체까지 복사해야하는지를 알아야됩..
리스트의 복사 두 번째인 List.copyOf에 대해 알아보자! 저번 글에서 Collections.unmodifiableList에 대해 다뤘으므로 이 글을 읽기 전에 먼저 읽으시면 이해가 잘 될 겁니다! 이전 글: https://zerotoinfinite.tistory.com/8 Java - List의 복사 (1): Collections.unmodifiableList 우아한 테크코스를 진행하면서 받았던 리뷰와 찾아서 공부했던 내용을 바탕으로 적었다. 공부하는 건 많아지는데 쉽게 까먹을까 봐 블로그에 쓰기로 다짐.. 총 3가지의 리스트 복사에 대해서 다 zerotoinfinite.tistory.com 리뷰어님의 리뷰를 받아 리팩토링을 한 나의 코드는 다음과 같았다. public List getCars() ..
우아한 테크코스를 진행하면서 받았던 리뷰와 찾아서 공부했던 내용을 바탕으로 적었다. 공부하는 건 많아지는데 쉽게 까먹을까 봐 블로그에 쓰기로 다짐.. 총 3가지의 리스트 복사에 대해서 다룰 것이다! Collections.unmodifiableList List.copyOf stream을 활용한 deepCopy 오늘은 첫번째로 Collections.unmodifiableList에 대해 다룰 것이다. 문제 상황 public List getCars() { return Collections.unmodifiableList(cars); } 처음 리뷰요청을 하였을 때 나의 코드는 위와 같았다. 사실 저렇게 쓴 이유는... 다들 저렇게 써서.. 였던 것 같다. 리뷰어님은 저 코드를 보고 이렇게 말씀하셨다. 내부의 car..
Java - Collections Class 목차 Collections 사용 이유 Collections 기능 1. Collections 사용 이유 Collections는 static method를 가진 class이다. 인스턴스를 생성하지 않고도 method를 가져다 쓸 수 있다. List, Set, Map을 등을 다루는 method들이 정의 되어 있기 때문에 따로 직접 구현을 하지 않고 사용할 수 있다. 대표적으로 List를 정렬하는 method인 Collection.sort()가 있다. 즉 Collection Framework를 다룰 때 유용한 method를 제공한다. 2. Collections 기능 Collections Class에는 다양한 기능이 있지만 자주 쓰는 기능에 대해서 알아보도록 합시다!!..
Java - 리스트(List) 목차 List 사용 이유 List의 구현체 ArrayList 생성자 ArrayList 기능 1. 배열이 아닌 List를 사용하는 이유 배열은 크기가 정해져 있지만 List는 크기를 마음대로 조절할 수 있다. 구현체 안에 다양한 method들을 사용할 수 있다. 2. List의 구현체 List는 인터페이스다. 즉, 인터페이스를 구현한 구현체가 필요하다. List의 구현체는 다음과 같다. ArrayList LinkedList 이 외에도 List의 구현체는 다양하다. 대표적으로 쓰이는 ArrayList를 알아보도록 하자. 3. ArrayList 생성자 (Constructor) ArrayList() List list = new ArrayList(); 기본적으로 capacity가 1..