lambda 표현식은 맵과list 대상 속성을 정렬합니다
1、lambda 맵 정렬
public static void main(String[] args) {
HashMap map = new HashMap<>(16);
map.put("6", 6);
map.put("4", 4);
map.put("5", 5);
map.put("3", 3);
map.put("1", 1);
map.put("2", 2);
//
Map stringIntegerMap = mapSort(map, 0);
// 654321
stringIntegerMap.entrySet().forEach(m -> System.out.println(m.getValue()));
}
패키지화 방법은 다음과 같습니다.
/**
*
* @param map map
* @param flag 0 /1
* @param
* @param
* @return
*/
// map map 0 1
public static > Map mapSort(Map map, int flag) {
if (flag == 1) {
return map.entrySet().stream().sorted((o1, o2) -> o1.getValue().compareTo(o2.getValue())).map(entry -> {
Map result = new LinkedHashMap<>();
result.put(entry.getKey(), entry.getValue());
return result;
}).reduce((map1, map2) -> {
map2.entrySet().forEach(entry -> map1.put(entry.getKey(), entry.getValue()));
return map1;
}).get();
} else {
return map.entrySet().stream().sorted((o1, o2) -> o2.getValue().compareTo(o1.getValue())).map(entry -> {
Map result = new LinkedHashMap<>();
result.put(entry.getKey(), entry.getValue());
return result;
}).reduce((map1, map2) -> {
map2.entrySet().forEach(entry -> map1.put(entry.getKey(), entry.getValue()));
return map1;
}).get();
}
}
2. lambda가list 대상 속성에 대한 정렬
오름차순:
List newList = list.stream().sorted(Comparator.comparing(User::getAge))
.collect(Collectors.toList());
내림차순:
List newList = list.stream().sorted(Comparator.comparing(User::getAge).reversed())
.collect(Collectors.toList());
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.