복사할때 참조를 하는데 이는 원본 데이터를 훼손하지 않기 위함이다.

스트림을 하면

1 데이터를 흩뿌려놓음

2 데이터를 가공

가공기법은 여러개가 존재하지만, 여기서는 map과 filter를 써볼것임

map : 기존 데이터를 가공하여 복사함

예) 모든 값을 *100 해주는데 사용

filter : 흩뿌려놓은 데이터를 필요한 것만 가져옴(true나 false를 사용)

3 흩뿌려놓은 데이터를 수집

map

package ex14.example1;

import java.util.Arrays;
import java.util.List;

public class CopyEx02 {
    public static void main(String[] args) {
        List<Integer> list = Arrays.asList(1, 2, 3, 4);

        // map
        List<Integer> newList = list.stream().map(i -> i * 100).toList();

        newList.stream().forEach(i -> System.out.println(i));
    }
}

Untitled

filter