반응형
JAVA 8 람다식을 이용해 Map의 내용을 정렬할 수 있다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | //샘플 Map map = new HashMap(); map.put("10001", 5); map.put("10002", 1); map.put("10003", 3); map.put("10004", 7); map.put("10005", 2); // 오름차순 map.entrySet().stream().sorted(Map.Entry.comparingByValue()) .forEach(x -> { System.out.println(x); }); /* // 결과 10002=1 10005=2 10003=3 10001=5 10004=7 */ // 내림차순 map.entrySet().stream().sorted(Map.Entry.comparingByValue().reversed()) .forEach(x -> { System.out.println(x); }); /* // 결과 10004=7 10001=5 10003=3 10005=2 10002=1 */ 람다식을 쓰면서 개별 값을 직접 접근하고 싶다면 Map.Entry을 이용하면 된다. // 오름차순, key 값을 따로 추출. map.entrySet().stream().sorted(Map.Entry.comparingByValue().reversed()) .forEach(x -> { Map.Entry<String, Integer> tmp = (Map.Entry<String, Integer>) x; System.out.println("키: " + tmp.getKey() + " // 값: " + tmp.getValue()); }); | cs |
반응형
'공부 > 프로그래밍' 카테고리의 다른 글
[SpringBoot] JPA Join 설정 및 조회. (0) | 2018.08.23 |
---|---|
[SpringSecurity] 설정 권한 정리 (0) | 2018.08.16 |
[SpringBoot] Jenkins, SpringBoot, Gradle 사용 Jar로 빌드, 배포 (0) | 2018.08.12 |
[Linux] centos7 젠킨스 설치 (0) | 2018.08.11 |
[Lunux] gradle 4.x 설치 (0) | 2018.08.10 |
댓글