Java63 27. Map에서 조건에 맞는 요소 찾기 27. Map에서 조건에 맞는 요소 찾기 // 값이 2 이상인 첫 번째 요소 찾기 Optional firstMatch = map.entrySet().stream() .filter(entry -> entry.getValue() >= 2) .findFirst(); // 값이 2 이상인 모든 요소 찾기 List allMatches = map.entrySet().stream() .filter(entry -> entry.getValue() >= 2) .collect(Collectors.toList()); 2023. 5. 5. 26. Map의 요소를 Stream으로 변환하기 26. Map의 요소를 Stream으로 변환하기 // EntrySet을 Stream으로 변환하기 Stream entryStream = map.entrySet().stream(); // KeySet을 Stream으로 변환하기 Stream keyStream = map.keySet().stream(); // ValueSet을 Stream으로 변환하기 Stream valueStream = map.values().stream(); 2023. 5. 5. 25. Map의 요소를 Set으로 변환하기 25. Map의 요소를 Set으로 변환하기 // 키와 값 모두 포함한 EntrySet을 Set으로 변환하기 Set entrySet = map.entrySet(); // 키만 포함한 KeySet을 Set으로 변환하기 Set keySet = map.keySet(); // 값만 포함한 ValueSet을 Set으로 변환하기 Set valueSet = new HashSet(map.values()); 2023. 5. 5. 24. Map에서 키/값 모두 이용하여 필터링하기 24. Map에서 키/값 모두 이용하여 필터링하기 // 키/값 모두 이용하여 값이 2 이상인 요소만 필터링 Map filteredMap = map.entrySet().stream() .filter(entry -> entry.getKey().startsWith("a") && entry.getValue() >= 2) .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); 2023. 5. 5. 23. Map에서 키/값 모두 이용하여 정렬하기 23. Map에서 키/값 모두 이용하여 정렬하기 // 키/값 모두 이용하여 오름차순 정렬하기 List entryList = new ArrayList(map.entrySet()); entryList.sort(Map.Entry.comparingByKey().thenComparing(Map.Entry.comparingByValue())); Map sortedMap = new LinkedHashMap(); for (Map.Entry entry : entryList) { sortedMap.put(entry.getKey(), entry.getValue()); } 2023. 5. 5. 22. Map에서 최대값/최소값 찾기 22. Map에서 최대값/최소값 찾기 // 최댓값 찾기 int maxValue = map.values().stream().mapToInt(Integer::intValue).max().orElse(Integer.MIN_VALUE); // 최솟값 찾기 int minValue = map.values().stream().mapToInt(Integer::intValue).min().orElse(Integer.MAX_VALUE); 2023. 5. 5. 이전 1 2 3 4 5 6 7 8 ··· 11 다음