java如何对list集合进行排序(Java对List排序最简单的方法)

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

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

对简单数组排序

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)

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

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页