Java

List<Map<String, Object>> maps 정렬

doopang 2025. 3. 28. 10:21
1. list
# asc
maps.sort((map1, map2) -> {
    Integer seq1 = Integer.parseInt(map1.get("seq").toString());
    Integer seq2 = Integer.parseInt(map2.get("seq").toString());
    return seq1.compareTo(seq2);
});

# desc
maps.sort((map1, map2) -> {
    Integer seq1 = Integer.parseInt(map1.get("seq").toString());
    Integer seq2 = Integer.parseInt(map2.get("seq").toString());
    return seq2.compareTo(seq1);
});

2. stream()
# asc
maps = maps.stream()
        .sorted(Comparator.comparing(m -> Integer.parseInt(m.get("seq").toString())))
        .collect(Collectors.toList());

# desc
maps = maps.stream()
        .sorted(Comparator.comparing(m -> Integer.parseInt(m.get("seq").toString()), Comparator.reverseOrder()))
        .collect(Collectors.toList());

maps = maps.stream()
        .sorted(Comparator.comparing((Map<String, Object> m) -> Integer.parseInt(m.get("seq").toString())).reversed())
        .collect(Collectors.toList());