Java
[Java/자바] stream, map, collect
꿈꾸는야오옹
2023. 2. 6. 18:43
Stream
자바의 Stream은 java8에 추가된 기능으로 컬렉션에 저장된 요소들을 람다식으로 처리 할 수 있게 하는 코드패턴이다. for문과 if문을 사용하지 않고도 간결하게 코드를 변경 할 수 있다.
- 원본 데이터를 읽는데, 원본데이터 변경을 하지 않는다.
- 결과를 컬레션이나 배열에 담아 반환 할수있다.
Map()
map() 메서드는 값을 변환해주는 람다를 인자로 받아, 조건에 맞게 새로운 데이터를 반환 할 때 사용된다.
Collect()
Stream 데이터를 원하는 자료형으로 변환 해준다.
예를들어, collect(Collectors.toList()) 는 List형으로 자료형을 변환해준다. 아래는 예시 코드이다.
@Override
public void findAll(Model model) {
List<GoodsListDTO> result=gRepository.findAll().stream()
.map(GoodsListDTO::new).collect(Collectors.toList());
model.addAttribute("list", result);
}
상품 리스트를 불러오는 메소드인데 여기서 Stream을 사용했다.