时间:2021-05-20
在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; } }3.对 List 元素中的多个属性进行排序(用到 commons-beanutils)
commons-beanutils 类库中有一个 BeanComparator 类,可以用来给 JavaBean 排序。但是这个类一次只能对一个属性排序。下面是一个利用 BeanComparator 实现对 JavaBean 的多个属性进行排序的例子,非常简单:
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Collections.sort()Java的排序可以用Collections.sort()排序函数实现。用Collections.sort方法对list排序有
对List进行排序,Python提供了两个方法方法1.用List的内建函数list.sort进行排序list.sort(func=None,key=None,r
很多时候,我们需要对List进行排序,Python提供了两个方法,对给定的ListL进行排序:方法1.用List的成员函数sort进行排序方法2.用built-
本文实例讲述了Java针对ArrayList自定义排序的2种实现方法。分享给大家供大家参考,具体如下:Java中实现对list的自定义排序主要通过两种方式1)让
在本文中,我们将看到几个关于如何在Java8中对List进行排序的示例。1.按字母顺序排序字符串列表Listcities=Arrays.asList("Mila