`

list 排序java代码

阅读更多

常常遇到数组排序的问题.比如我有一个Person类,它的实例对象存储在ArrayList数组中,现在要把ArrayList数组中的Person对象按照年龄排序.
其实这种情况经常遇到.
下面给出源代码:

1:Person.java文件:-------------------------------
public class Person{
String name;
int age;

public Person(String name,int age){
this.name = name;
this.age = age;

}

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;
}

}


2:Mycomparator.java-------------------------------
//实现Comparator接口,也就是定义排序规则,你几乎可以定义任何规则
package com.infoearth;
import java.util.*;
public class Mycomparator implements Comparator{

public int compare(Object o1,Object o2) {
Person p1=(Person)o1;
Person p2=(Person)o2;
if(p1.age<p2.age)
  return 1;
else
  return 0;
}

}

3:ListSort.java------------------------------------

package com.infoearth;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;

public class ListSort {
public static void main(String[] args){
ArrayList list = new ArrayList();
list.add(new Person("lcl",28));
list.add(new Person("fx",23));
list.add(new Person("wqx",29));
Comparator comp = new Mycomparator();
Collections.sort(list,comp);
for(int i = 0;i<list.size();i++){
  Person p = (Person)list.get(i);
  System.out.println(p.getName());
}

}

}

分享到:
评论
3 楼 youjianbo_han_87 2008-06-27  
你的这个不通用,而且是单个属性的,你去看看我写的通用多属性对象排序比较吧
2 楼 mht19840918 2008-04-30  
恩对,返回值是1,0,-1没错,呵呵
我只是做了简单的比较,当返回不是1或0的时候会抛出ClassCastException
这个例子仅是简单的说明自定义排序的实现,具体的项目中当然没这么简单,你要考虑所有的可能,谢谢你的意见,在以后的例子中我会考虑尽量全面些。
3X
1 楼 阳光晒晒 2008-04-24  
不明白为什么
没有-1呢?
Comparator应该反回
1,0,-1

相关推荐

    java中list排序

    Java 中 List 排序 Java 中 List 排序是指在数据库中查出来的列表中对不同的字段重新排序。一般的做法都是使用排序的字段,重新到数据库中查询。如果不到数据库查询,直接在第一次查出来的 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中对象多属性排序及各属性排序设置

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

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

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

    java代码-使用java解决list(Map)排序的问题源代码

    java代码-使用java解决list(Map)排序的问题源代码 ——学习参考资料:仅用于个人学习使用!

    java 集合分组与排序

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

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

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

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

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

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

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

    java使用stream对日期排序

    在Java编程中,Stream API是Java 8引入的一个强大特性,它允许我们以声明性方式处理数据集合。本文将深入探讨如何使用Stream API对...实践过程中,可以根据实际需求选择合适的日期类型和排序规则,使代码更加简洁易读。

    java List排序demo

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

    java sort排序算法实例完整代码

    // 对List排序 List&lt;Integer&gt; list = Arrays.asList(5, 3, 8, 1, 9); Collections.sort(list); System.out.println(list); // 使用Comparator自定义排序规则 List&lt;Person&gt; people = Arrays.asList( new ...

    java汉字笔画排序源码

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

    java 中文姓氏 排序

    ### Java 中文姓氏排序详解 #### 一、引言 ...通过上述代码示例,我们可以看到如何在 Java 中实现对含有中文姓名的数据进行排序。这在处理中文数据时非常有用,尤其是在需要按特定顺序显示数据的应用场景中。

    几种排序算法的比较(java代码)

    import java.util.List; public class SortTest { public static void main(String[] args)throws Exception { String[] strs2=new String[]{"希尔排序","直接插入排序","折半插入排序","冒泡排序"}; ...

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

    本项目提供的"java汉字笔画排序2源代码jar包"是一个优化过的解决方案,旨在减少内存占用并提高排序效率。 首先,我们要理解汉字笔画排序的基本原理。汉字是由基本的笔画构成的,如横、竖、撇、捺、折等。每个汉字都...

    java汉字排序

    Java代码 1.import java.util.Comparator; 2.import net.sourceforge.pinyin4j.PinyinHelper; 3./** 4. * 汉字按照拼音排序的比较器 5. * @author KennyLee 2009-2-23 10:08:59 6. * 7. */ 8.public class ...

    Java 中文排序 使用pinyin4j组件

    2. **导入所需类**:在Java代码中,我们需要导入`pinyin4j`的相关类,主要包括`PinyinHelper`: ```java import net.sourceforge.pinyin4j.PinyinHelper; ``` 3. **实现排序逻辑**:假设我们有一个包含中文字符...

    java中进行集合排序

    在Java编程中,对集合(如`List`)中的对象进行排序是一项常见的操作。本文将详细介绍如何根据对象的特定属性来实现升序或降序排序。 #### 标题:Java中进行集合排序 该标题表明文章的主题是关于Java语言中如何对...

    java冒泡排序java冒泡排序集锦方法!

    以上三个知识点总结了关于 Java 排序的一些基本应用,包括基础的冒泡排序算法、使用标准库 `Collections.sort()` 进行排序以及使用 `RuleBasedCollator` 实现国际化排序等。这些技术对于编写高效、可维护的 Java ...

Global site tag (gtag.js) - Google Analytics