728x90
반응형
[예제] exhlCd를 키로 사용하여 중복을 제거한 다음, exhlNm 값을 추출합니다.
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
// Sample data
List<ResCrItemListDTO> crItemList = new ArrayList<>();
crItemList.add(new ResCrItemListDTO("CD001", "Exhibition A"));
crItemList.add(new ResCrItemListDTO("CD002", "Exhibition B"));
crItemList.add(new ResCrItemListDTO("CD001", "Exhibition A")); // 중복 항목
// 중복 제거하여 exhlNm 리스트 생성
List<String> exhlNmList = crItemList.stream()
.collect(Collectors.toMap(
ResCrItemListDTO::getExhlCd, // Key: exhlCd
ResCrItemListDTO::getExhlNm, // Value: exhlNm
(existing, replacement) -> existing // 중복 시 기존 값 유지
))
.values()
.stream()
.collect(Collectors.toList());
// 결과 출력
System.out.println(exhlNmList); // [Exhibition A, Exhibition B]
}
}
728x90
반응형
'JAVA' 카테고리의 다른 글
[JAVA] .stream() 을 사용했는데 순서가 유지되지 않는 경우 (0) | 2025.01.23 |
---|---|
[JAVA] 스트림에서 데이터를 정렬하기 (0) | 2025.01.21 |
[JAVA] Collectors.joining (0) | 2025.01.19 |
[JAVA] boolean / Boolean (0) | 2025.01.12 |
[JAVA] BeanUtils.copyProperties 주의사항 (0) | 2025.01.08 |