一个集合里面元素上没有排序字段属性,我们可以加入排序字段排序完后再变回原集合

it2023-03-15  89

List<String> list = Arrays.stream(new String[]{"11", "12", "14", "15"}).collect(Collectors.toList()); List<Map<String,Object>> list1 = list.stream().map(s -> { Map<String,Object> map = new HashMap<>(); map.put("classify", s); map.put("sort", LinenClassifyEnum.getSort(s)); return map; }).sorted(Comparator.comparing(m -> (Byte)m.get("sort"))).collect(Collectors.toList()); System.out.println(list1);// [{classify=11, sort=1}, {classify=12, sort=2}, {classify=15, sort=3}, {classify=14, sort=5}] list = list.stream().map(s -> ImmutableMap.of("classify", s, "sort", LinenClassifyEnum.getSort(s))). sorted(Comparator.comparing(m -> (Byte)m.get("sort"))).map(m -> (String)m.get("classify")).collect(Collectors.toList()); System.out.println(list);// [11, 12, 15, 14] ```
最新回复(0)