在Java Collection Framework中定义的List实现有Vector,ArrayList和LinkedList。这些集合提供了对对象组的索引访问。他们提供了元素的添加与删除支持。然而,它们并没有内置的元素排序支持。
你能够使用java.util.Collections类中的sort()方法对List元素进行排序。你既可以给方法传递一个List对象,也可以传递一个List和一个Comparator。如果列表中的元素全都是相同类型的类,并且这个类实现了Comparable接口,你可以简单的调用Collections.sort()。如果这个类没有实现Comparator,你也可以传递一个Comparator到方法sort()中,进行排序。如果你不想使用缺省的分类顺序进行排序,你同样可以传递一个Comparator到方法sort()中来进行排序。
1.比较的对象实现Comparable接口
- public class Student implements Comparable {
- private int id;
- private int age;
- private String name;
- public Student(int id){
- this.id=id;
- }
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- public int getAge() {
- return age;
- }
- public void setAge(int age) {
- this.age = age;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public static void main(String args[]){
- List<Student> list=new ArrayList<Student>();
- for(int i=1000;i>0;i--){
- list.add(new Student(i));
- }
- Collections.sort(list);
- for(Student s: list){
- System.out.println(s.getId());
- }
- }
- public int compareTo(Object o) {
- if(o instanceof Student){
- Student s=(Student)o;
- if(this.id>s.id){
- return 1;
- }
- else{
- return 0;
- }
- }
- return -1;
- }
- }
2.利用Collections.sort(Object o,Comparator c)
- public class JiaMenuComparator implements Comparator{
- public int compare(Object o1, Object o2) {
- if(null!=o1&&null!=o2)
- {
- JiaMenu menu1=(JiaMenu)o1;
- JiaMenu menu2=(JiaMenu)o2;
- if(menu1.getId()<menu2.getId()){
- return 1;
- }else {
- return 0;
- }
- }
- return 0;
- }
- }
Collections.sort(List list,Comparator c)
相关推荐
JAVA SortList 通用排序类 从网上搜到一个java 对 List 排序的工具,自己改了下 支持 整数 和 浮点数 比较后排序,浮点数小数部分的有点问题,期待大牛帮忙优化。
java List排序工具类 使用示例: new OrderUtils().order(list, "name", OrderUtils.DESC); 相关实例代码: public static void main(String[] args) { List<Person> list = getData(); // 获取无序数据 new ...
在数据库中查出来的列表list中,往往需要对不同的字段重新排序,一般的做法都是使用排序的字段,重新到数据库中查询。如果不到数据库查询,直接在第一次查出来的list中排序,无疑会提高系统的性能。
天才之作:通过泛型,对List中对象多属性排序,支持设置各属性排序方式(动态属性),看了之后绝对让你震撼!
NULL 博文链接:https://xuedong.iteye.com/blog/1147254
java 集合分组排序帮助类有好的意见可以互相交流不甚感激
java实现中文排序,按数字字母汉字的顺序进行排序
java开发,使用list对其进行排序,,易学简单。。。。。。。。。
java 使用Collections类对List的排序操作 java 使用Collections类对List的排序操作
有时候我们可能有这样的需求:将一个List按照某个字段进行排序。比如现在有多个Student,我们要将这些学生按照成绩(grad)进行排序,本demo就是一个将List排序的demo
list集合树状排序 对于前端jquery-treetable无法进行父子关联数据问题进行改进,后台传list集合前,对list进行排序,然后在返回到前台。
* 对传入的list进行分组排序 * list里面数据格式 [01-01-开头.txt, 01-02-简介.jpg, 11-01-尾声.jpg, 11-03-空白.jpg, 11-04-空白2.jpg, 11-06-空白1.jpg, 11-02-答谢语.txt, 02-01-标题.jpg, 02-09-标题555.jpg, ...
java代码-使用java解决list(Map)排序的问题源代码 ——学习参考资料:仅用于个人学习使用!
java集合某个字段按照中文拼音排序 java集合某个字段按照中文拼音排序
NULL 博文链接:https://singhoo.iteye.com/blog/1717722
JAVALIST排序.pdf
主要为LIST对象中的指定字段排序 首先比较年龄,如果年龄相同,则比较名字
主要介绍了java List 排序之冒泡排序实例代码的相关资料,需要的朋友可以参考下
java最常见的八种排序算法