首页 >> 宝藏问答 >

arraylist排序的三种算法(arraylist排序)

2022-09-17 02:24:28

问题描述:

arraylist排序的三种算法(arraylist排序),求大佬施舍一个解决方案,感激不尽!

最佳答案

推荐答案

2022-09-17 02:24:28

大家好,小金来为大家解答以上的问题。arraylist排序的三种算法,arraylist排序这个很多人还不知道,现在让我们一起来看看吧!

1、package com.collection;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;public class Test {public static void main(String[] args) {Student zlj = new Student("丁晓宇", 21);Student dxy = new Student("赵四", 22);Student cjc = new Student("张三", 11);Student lgc = new Student("刘武", 19);List studentList = new ArrayList();studentList.add(zlj);studentList.add(dxy);studentList.add(cjc);studentList.add(lgc);System.out.println("按年龄升序:");Collections.sort(studentList, new SortByAge());for (Student student : studentList) {System.out.println(student.getName() + " / " + student.getAge());}System.out.println();System.out.println("按姓名排序:");Collections.sort(studentList, new SortByName());for (Student student : studentList) {System.out.println(student.getName() + " / " + student.getAge());}}}class SortByAge implements Comparator {public int compare(Object o1, Object o2) {Student s1 = (Student) o1;Student s2 = (Student) o2;return s1.getAge().compareTo(s2.getAge());// if (s1.getAge() > s2.getAge())// return 1;// return -1;}}class SortByName implements Comparator {public int compare(Object o1, Object o2) {Student s1 = (Student) o1;Student s2 = (Student) o2;return s1.getName().compareTo(s2.getName());}}输出结果:按年龄升序:张三 / 11刘武 / 19丁晓宇 / 21赵四 / 22按姓名排序:丁晓宇 / 21刘武 / 19张三 / 11赵四 / 22现在java8帮你封装了一把,可以不用Colltion的sort方法啦,很简单 list.stream.sorted(); 就可以直接排序啦。

2、对于基本类型的数据 若是一个对象的集合,比如List list这类的集合。

本文到此分享完毕,希望对大家有所帮助。

  免责声明:本答案或内容为用户上传,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 如遇侵权请及时联系本站删除。

 
分享:
最新文章