Shong Studio의 정보 창고

[JAVA] Collection과 Stream차이 본문

프로그래밍 언어/Java

[JAVA] Collection과 Stream차이

Shong Studio 2024. 3. 3. 00:37
728x90
반응형

java 컬렉션에는 List, Set, Map 등이 있다. 컬렉션과 스트림의 차이는 무엇일까. 아래 표를 확인하세요.

  컬렉션 스트림
계산 시점 컬렉션에 저장하기 전에 계산 요청이 들어오면 계산
자료구조 형태 유동(=flex) 고정(=fix)
요소 추가 및 삭제 요소를 추가하거나 삭제 가능 요소를 추가하거나 삭제 불가
요소 반복 외부반복 내부반복
탐색 횟수 반복 가능 스트림 한번에 한번만 탐색[소비] 가능
다시 탐색하려면 새로운 스트림을 또 생성해야함

 

 

- Stream의 요소들을 List로 변환

Collectors를 이용하여 스트림의 요소들을 List 객체로 변환할 수 있습니다.

아래와 같이 Collectors.toList()를 인자에 전달하면 List 객체로 리턴됩니다.

Stream<String> fruits = Stream.of("banana", "apple", "mango", "kiwi", "peach", "cherry", "lemon");
List<String> fruitList = fruits.collect(Collectors.toList());
for (String s : fruitList) {
    System.out.println(s);
}

 

Output:

banana
apple
mango
kiwi
peach
cherry
lemon

 

728x90
반응형