`
金诚铸就
  • 浏览: 10331 次
最近访客 更多访客>>
PXY
社区版块
存档分类
最新评论

java List 排序 Collections.sort() 对 List 排序

    博客分类:
  • java
阅读更多
关于Collections.sort(List list,Comparator comparator) 的说明

Comparator是个接口,主要比的是两个对象,比较规则是你自己写的
,可以重写他的compare()和equals()这两个方法,也就是说比较的方法,如果是null的话,就是使用元素的自然顺序,如1,2,4,5,9,8,7,就是1,2,4,5,7,8,9这样,字母也可以



compare(a,b)方法:根据第一个参数小于、等于或大于第二个参数分别返回负整数、零或正整数



例:            
            
import java.util.Comparator;            
import java.util.List;            
import java.util.ArrayList;            
import java.util.Collections;            
            
class User {            
String name;            
String age;            
            
public User(String name,String age){            
  this.name=name;            
  this.age=age;            
}            
public String getAge() {            
  return age;            
}            
public void setAge(String age) {            
  this.age = age;            
}            
public String getName() {            
  return name;            
}            
public void setName(String name) {            
  this.name = name;            
}             
}            
            
class ComparatorUser implements Comparator{            
            
public int compare(Object arg0, Object arg1) {            
  User user0=(User)arg0;            
  User user1=(User)arg1;            
  //首先比较年龄,如果年龄相同,则比较名字            
  int flag=user0.getAge().compareTo(user1.getAge());            
  if(flag==0){            
   return user0.getName().compareTo(user1.getName());            
  }else{            
   return flag;            
  }              
}            
            
}            
            
public class SortTest {            
            
            
public static void main(String[] args){            
  List userlist=new ArrayList();            
  userlist.add(new User("dd","4"));            
  userlist.add(new User("aa","1"));            
  userlist.add(new User("ee","5"));            
  userlist.add(new User("bb","2"));              
  userlist.add(new User("ff","5"));            
  userlist.add(new User("cc","3"));            
  userlist.add(new User("gg","6"));            
              
  ComparatorUser comparator=new ComparatorUser();            
  Collections.sort(userlist, comparator);            
               
  for (int i=0;i<userlist.size();i++){            
   User user_temp=(User)userlist.get(i);            
      System.out.println(user_temp.getAge()+","+user_temp.getName());             
  }            
              
}            
}            
            
//首先比较年龄,如果年龄相同,则比较名字            
            
结果:            
   1, aa            
   2, bb            
   3, cc            
   4, dd            
   5, ee            
   5, ff            
   6, gg            
分享到:
评论

相关推荐

    java List 排序 Collections.sort

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

    Java Collections.sort()实现List排序的默认方法和自定义方法

    Java Collections.sort()是Java语言中用于对List进行排序的方法,通过使用这个方法可以对List进行默认排序,也可以根据需要实现自定义的排序规则。 默认排序方法 在Java中,Collections.sort()方法可以对List进行...

    JAVA对list集合进行排序Collections.sort()

    在Java编程语言中,`Collections.sort()` 方法是一个非常重要的工具,用于对List接口实现的集合进行排序。这个方法使得开发者能够方便地按照指定的顺序排列集合中的元素。本篇文章将详细探讨如何使用 `Collections....

    java中Collections.sort排序详解

    Java中的Collections.sort排序是Java.util.Collections类中的一个静态方法,用于对列表进行排序。下面将详细介绍Collections.sort排序的使用和实现机制。 Collections.sort()方法的使用: Collections.sort()方法...

    Java Arrays.sort和Collections.sort排序实现原理解析

    首先,`Collections.sort()`方法在处理列表(List)时,实际上底层调用了`list.sort()`方法。在Java中,`List`是一个接口,具体的实现类如`ArrayList`或`LinkedList`会提供具体的排序实现。在本例中,由于使用了`...

    java中Collections.sort排序函数用法详解

    在Java编程语言中,`Collections.sort()` 是一个非常重要的函数,它用于对集合中的元素进行排序。这个函数是 `java.util.Collections` 类的一个静态方法,适用于列表(List)类型的集合。`Collections.sort()` 可以...

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

    在Java编程语言中,`Collections` 类是 `java.util` 包中...在 `MySortList.java` 文件中,可能包含了关于 `Collections.sort()` 方法的具体使用示例,而 `Java.jpg` 可能是一个相关的类图或流程图,帮助理解这些概念。

    详解Java中Collections.sort排序

    在Java编程语言中,`Collections.sort()`方法是一个非常重要的工具,它用于对集合中的元素进行排序。这个方法主要应用于`List`接口的实现类,如`ArrayList`和`LinkedList`等。`Collections.sort()`有两种主要的排序...

    Java Collections.sort()排序代码案例

    Java Collections.sort() 排序代码案例是 Java Collections 框架中一个非常重要的排序算法,通过本文,我们将深入探讨 Java Collections.sort() 排序代码案例的实现细节,并对其进行详细的解释。 Java Collections...

    金陵科技学院软件院大二上Java高级1215Collections.docx

    在示例中,`Collections.sort(list)`按照默认的自然顺序对元素进行排序,使得`list`变为"123", "123", "aaa", "abc", "xyz"。 3. **`Collections.shuffle(List&lt;T&gt; list, Random rnd)`**:这个方法将列表中的元素...

    用Java集合中的Collections.sort方法如何对list排序(两种方法)

    在Java编程中,集合框架是处理数据的重要工具,而Collections.sort方法则是对列表(List)进行排序的关键函数。本文将深入探讨两种使用Collections.sort方法对List排序的方法。 首先,第一种方法是让List中的对象实现...

    详解java Collections.sort的两种用法

    Java Collections.sort 是 Java 集合框架中的一种静态方法,用于对 List 类型进行排序。该方法有两种参数形式,分别是对基本类型和自定义类的排序。在本文中,我们将通过示例代码来详细介绍这两种用法。 基本类型的...

    Java 对象排序详解.rar_java 对象排序_对象_排序

    总的来说,Java提供了多种方式对对象进行排序,包括ArrayList的`Collections.sort()`,HashSet的转换和排序,以及TreeSet的自然排序和Comparator排序。理解这些机制可以帮助我们更好地控制数据结构的排序行为,从而...

    java日期排序.docx

    Collections.sort 方法可以对 List 对象中的元素进行排序,包括日期字符串。 示例代码 下面是一个使用 Java 进行日期排序的示例代码: import java.util.ArrayList; import java.util.Collections; import java....

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

    对Java集合中的某个字段按照中文拼音排序可以使用多种方法,本文将介绍两种常见的方法。 方法一:使用Comparable接口 在Java中,我们可以使用Comparable接口来实现自定义排序。例如,我们可以创建一个Record类,...

    JAVA中Collections工具类sort()排序方法

    在Java编程中,Collections工具类提供了许多方便的集合操作,其中`sort()`方法是一个非常重要的功能,用于对List类型的集合进行排序。本文将详细介绍`Collections.sort()`方法的两种使用方式及其示例。 ### 一、...

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

    在Java的`java.util`包中,`Collections.sort()`方法提供了对List进行单维度排序的功能。默认情况下,它是基于元素自然顺序进行排序,但如果需要自定义排序规则,可以提供一个`Comparator`实例。例如: ```java ...

    java中的排序.ppt

    Java 中的 Arrays 类提供了对这些类型的 sort 方法,可以用来对简单类型的数组进行排序。例如: ```java int[] arr = {2, 3, 1, 10, 7, 4}; System.out.print("before sort: "); for (int i = 0; i &lt; arr.length; i...

    listview按序排列显示

    `Collections.sort()`是Java中对List进行排序的方法,它接受一个List作为参数,并根据List中元素的自然顺序或者自定义比较器进行排序。在这个例子中,Map的键(key)通常是字符串或其他实现了Comparable接口的对象,...

    Java Generics and Collections.chm

    例如,`Collections.sort()` 可用于对列表进行排序,`Map.merge()` 可以原子性地更新键值对。 通过深入学习《Java Generics and Collections》,开发者不仅可以掌握如何编写类型安全的代码,还能有效地组织和操作...

Global site tag (gtag.js) - Google Analytics