`

java之List排序

    博客分类:
  • JAVA
 
阅读更多

   在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接口

[html] view plaincopy
 
  1. public class Student implements Comparable {  
  2.     private int id;  
  3.     private int age;  
  4.     private String name;  
  5.     public Student(int id){  
  6.         this.id=id;  
  7.     }  
  8.     public int getId() {  
  9.         return id;  
  10.     }  
  11.   
  12.     public void setId(int id) {  
  13.         this.id = id;  
  14.     }  
  15.   
  16.     public int getAge() {  
  17.         return age;  
  18.     }  
  19.   
  20.     public void setAge(int age) {  
  21.         this.age = age;  
  22.     }  
  23.   
  24.     public String getName() {  
  25.         return name;  
  26.     }  
  27.   
  28.     public void setName(String name) {  
  29.         this.name = name;  
  30.     }  
  31.   
  32.       
  33.       
  34.     public static void main(String args[]){  
  35.         List<Student> list=new ArrayList<Student>();  
  36.         for(int i=1000;i>0;i--){  
  37.             list.add(new Student(i));  
  38.         }  
  39.           
  40.         Collections.sort(list);  
  41.         for(Student s: list){  
  42.             System.out.println(s.getId());  
  43.         }  
  44.     }  
  45.   
  46.     public int compareTo(Object o) {  
  47.         if(o instanceof Student){  
  48.             Student s=(Student)o;  
  49.             if(this.id>s.id){  
  50.                 return 1;  
  51.             }  
  52.             else{  
  53.                 return 0;  
  54.             }  
  55.         }  
  56.         return -1;  
  57.     }  
  58.   
  59. }  

2.利用Collections.sort(Object o,Comparator c)

[html] view plaincopy
 
  1. public class JiaMenuComparator implements Comparator{  
  2.   
  3.     public int compare(Object o1, Object o2) {  
  4.         if(null!=o1&&null!=o2)  
  5.         {  
  6.             JiaMenu menu1=(JiaMenu)o1;  
  7.             JiaMenu menu2=(JiaMenu)o2;  
  8.             if(menu1.getId()<menu2.getId()){  
  9.                 return 1;  
  10.             }else {  
  11.                 return 0;  
  12.             }  
  13.         }  
  14.         return 0;  
  15.     }  
  16.       
  17. }  

Collections.sort(List list,Comparator c)

分享到:
评论

相关推荐

    java中list排序

    Java 中 List 排序 Java 中 List 排序是指在数据库中查出来的列表中对不同的字段重新排序。一般的做法都是使用排序的字段,重新到数据库中查询。如果不到数据库查询,直接在第一次查出来的 List 中排序,无疑会提高...

    JAVA SortList 通用排序类

    JAVA SortList 通用排序类 从网上搜到一个java 对 List 排序的工具,自己改了下 支持 整数 和 浮点数 比较后排序,浮点数小数部分的有点问题,期待大牛帮忙优化。

    java List排序工具类

    java List排序工具类 使用示例: new OrderUtils().order(list, "name", OrderUtils.DESC); 相关实例代码: public static void main(String[] args) { List&lt;Person&gt; list = getData(); // 获取无序数据 new ...

    java List 排序 Collections.sort

    总结起来,`Collections.sort()`是Java中对List进行排序的标准工具,它支持自然排序和自定义排序。了解其工作原理和优化技巧,可以帮助我们在编程实践中更高效地处理数据。通过阅读和理解`Collections.sort()`的源码...

    java List中对象多属性排序及各属性排序设置

    在Java编程中,排序是常见的数据处理操作,特别是在处理集合数据结构时,如List。本文将深入探讨如何在Java的List中对包含多个属性的对象进行排序,并且支持动态设置每个属性的排序方式。这个功能的实现是通过泛型和...

    java 集合分组与排序

    总结来说,Java集合框架提供了强大的工具来处理分组和排序,包括`List`接口的`sort()`方法和流API的`groupingBy()`和`sorted()`。在实际项目中,可以根据需求选择合适的方法。同时,`ArrayHelp`和`ClassLoadUtil`...

    Java对List多个排序、查询条件的处理

    在Java编程中,对List进行多个排序和查询条件的处理是一项常见的任务,特别是在处理数据集合时。本篇文章将深入探讨如何使用Java实现这些操作,并基于给出的`GroupFilterSortUtils.java`文件,我们可以推断这是一个...

    java中文排序,数字字母汉字排序

    Java集合框架中的`List`接口提供了一个`sort(Comparator&lt;? super E&gt; comparator)`方法,可以接受一个比较器(Comparator)来定义自定义的排序规则。默认情况下,Java使用自然排序,即按照字符串的Unicode值进行排序...

    Java将2个List集合合并到一个List里面并排序工具类

    Java将2个List集合合并到一个List里面并排序工具类 1、Java编程资源,定义了一个名为`ListMerger`的工具类,主要包含一个名为`mergeAndSortLists`的静态方法。此方法用于将两个已经根据时间顺序排列的List合并成一...

    java 使用Collections类对List的排序操作

    总的来说,`Collections` 类提供的排序功能使得在 Java 中对 `List` 进行操作变得更加便捷,无论是自然排序还是定制排序,都可以轻松实现。同时,随着 Java 8 及更高版本的引入,流API也提供了新的排序方式,开发者...

    java List排序demo

    当我们需要对`List`中的元素进行排序时,可以利用Java提供的内置排序机制。本篇将详细介绍如何根据指定字段对`List`中的对象进行排序,以`Student`类为例,假设每个`Student`都有一个`grad`属性表示成绩。 首先,...

    java 中文姓氏 排序

    ### Java 中文姓氏排序详解 #### 一、引言 在处理中文数据时,我们经常需要对含有中文姓名的数据进行排序。Java 提供了多种方式进行排序,包括使用 `Collections.sort()` 方法配合自定义比较器(`Comparator`)。...

    list集合树状排序-java

    在Java编程中,"list集合树状排序"是一种常见的需求,特别是在处理前端展示的数据时,如使用jQuery的treetable插件。这个场景通常涉及到数据结构的组织和排序,以便前端能够按照树形结构正确地展示层级关系。下面将...

    java使用stream对日期排序

    通过以上介绍,我们可以看出Java Stream API提供了灵活且高效的方式来处理日期排序。无论是在简单的日期列表还是复杂的数据结构中,都可以轻松地实现排序功能。实践过程中,可以根据实际需求选择合适的日期类型和...

    java list排序

    java开发,使用list对其进行排序,,易学简单。。。。。。。。。

    java List 排序之冒泡排序实例代码

    java List 排序之冒泡排序实例代码 Java List 排序之冒泡排序实例代码是 Java 语言中实现 List 排序的一种方法。该方法主要使用冒泡排序算法对 List 集合中的元素进行排序。 1.Collections.sort() 排序 ...

    java集合某个字段按照中文拼音排序.docx

    "Java集合某个字段按照中文拼音排序" Java集合某个字段按照中文拼音排序是Java开发中经常遇到的问题。对Java集合中的某个字段按照中文拼音排序可以使用多种方法,本文将介绍两种常见的方法。 方法一:使用...

    java中List对象列表实现去重或取出及排序的方法

    Java中List对象列表实现去重或取出及排序的方法 在Java中,对List对象列表实现去重或取出及排序是一种常见的操作。下面将详细介绍相关的方法和实现。 1. 实体类重写equals和hashCode方法 在Java中,想要去重List...

    java汉字笔画排序源码

    在Java中,可以使用`java.util.Comparator`接口自定义比较规则,根据笔画数对`List&lt;String&gt;`类型的汉字列表进行排序。此外,`java.text.Normalizer`类可以帮助处理Unicode编码,确保笔画计算的准确性。 总的来说,...

    java汉字笔画排序2源代码jar包

    例如,可能存在一个名为`StrokeSorter`的类,它有一个`sort`方法,接受一个字符串数组或List,返回按照笔画排序后的结果。 `readme.txt`文件通常包含了项目的使用说明、注意事项以及可能的版本更新信息。在这里,它...

Global site tag (gtag.js) - Google Analytics