快捷搜索:  汽车  科技

java中list根据指定条件排序(Java对List排序最简单的方法)

java中list根据指定条件排序(Java对List排序最简单的方法)public static void main(String[] args) { List<Map<String Object>> list = new ArrayList(){{ add(new HashMap(){{ put("name" "张三"); put("age" 20); }}); add(new HashMap(){{ put("name" "李四"); put("age" 10); }}); add(new HashMap(){{ put(&#

收藏、点赞等于学会[小鼓掌]

本人不喜欢废话,直接上代码

对简单数组排序

public static void main(String[] args) { //构造一个简单的List集合 List<Integer> list = new ArrayList(){{ add(3); add(2); add(4); add(1); }}; //使用Java8的Stream对集合升序 List<Integer> listNew = list.stream().sorted().collect(Collectors.toList()); System.out.println("升序结果:"); listNew.forEach(item-> System.out.println(item)); System.out.println("===================="); //反转-升序改降序 Collections.reverse(listNew); System.out.println("反转降序结果:"); listNew.forEach(item-> System.out.println(item)); //或者直接使用Comparator.reverseOrder()降序 //List<Integer> listNew = list.stream().sorted(Comparator.reverseOrder()).collect(Collectors.toList()); }

以上代码执行结果:

java中list根据指定条件排序(Java对List排序最简单的方法)(1)

List<对象>排序

@Data @AllArgsConstructor public class ProjectBean { @ApiModelProperty(value = "项目名称") private String projectName; @ApiModelProperty(value = "进度") private Integer plan; }

public static void main(String[] args) { //一个包含ProjectBean对象的数组 List<ProjectBean> projectBeanList = new ArrayList(){{ add(new ProjectBean("项目1" 3)); add(new ProjectBean("项目2" 10)); add(new ProjectBean("项目3" 1)); add(new ProjectBean("项目4" 5)); }}; System.out.println("排序前:"); System.out.println(projectBeanList); System.out.println(); //对ProjectBean对象中的plan字段进行排序-升序 List<ProjectBean> listNew = projectBeanList.stream().sorted(Comparator.comparing(ProjectBean::getPlan)).collect(Collectors.toList()); System.out.println("升序:"); System.out.println(listNew); System.out.println(); //反转-降序 Collections.reverse(listNew); System.out.println("降序:"); System.out.println(listNew); System.out.println(); //stream直接降序 listNew = projectBeanList.stream().sorted(Comparator.comparing(ProjectBean::getPlan).reversed()).collect(Collectors.toList()); System.out.println("降序:"); System.out.println(listNew); }

以上代码输出结果:

java中list根据指定条件排序(Java对List排序最简单的方法)(2)

List<map>排序

public static void main(String[] args) { List<Map<String Object>> list = new ArrayList(){{ add(new HashMap(){{ put("name" "张三"); put("age" 20); }}); add(new HashMap(){{ put("name" "李四"); put("age" 10); }}); add(new HashMap(){{ put("name" "王五"); put("age" 50); }}); }}; System.out.println("排序前:"); System.out.println(list); System.out.println(); //按照map中age字段进行排序,升序 Collections.sort(list new Comparator<Map<String Object>>() { public int compare(Map<String Object> o1 Map<String Object> o2) { Integer fromline1 = Integer.valueOf(String.valueOf(o1.get("age"))); Integer fromline2 = Integer.valueOf(String.valueOf(o2.get("age"))); return fromline1.compareTo(fromline2); } }); System.out.println("升序:"); System.out.println(list); System.out.println(); //按照map中age字段进行排序,降序 Collections.sort(list new Comparator<Map<String Object>>() { public int compare(Map<String Object> o1 Map<String Object> o2) { Integer fromline1 = Integer.valueOf(String.valueOf(o1.get("age"))); Integer fromline2 = Integer.valueOf(String.valueOf(o2.get("age"))); return fromline2.compareTo(fromline1); } }); System.out.println("降序:"); System.out.println(list); }

以上代码输出内容:

java中list根据指定条件排序(Java对List排序最简单的方法)(3)

关注作者,了解程序员圈子,认识更多程序员朋友。

猜您喜欢: