`
eddiegift
  • 浏览: 27442 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

JAVA中根据集合中对象属性排序的方法

    博客分类:
  • J2SE
阅读更多
package Collection;

import java.util.*;

public class Sort {
    private static ArrayList list = new ArrayList();
    private static UserBean[] user = new UserBean[4];

    public static void main(String[] args) {
        Sort sort = new Sort();
        user[0] = new UserBean("004",34);
        user[1] = new UserBean("003",56);
        user[2] = new UserBean("010",1);
        user[3] = new UserBean("002",22);

        for (int i = 0; i < 4; i++) {
            list.add(user[i]);
        }
        //arg1排序列表,arg2列表顺序比较器为null时使用自然排序
        Collections.sort(list,new ReverseSort());

        //arg1排序列表,arg2改变列表的随机源
        //Collections.shuffle(list,new Random());

        for (Iterator iterator = list.listIterator();iterator.hasNext()) {
            System.out.println(((UserBean)iterator.next()).name);
        }
    }
}

class UserBean implements Comparable{
    public String name;
    public int age;

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

    //类对象属性进行比较时,继承一个自然排序接口,重写一个自然比较方法
    public int compareTo(Object obj) {
        UserBean user = (UserBean)obj;
        return this.name.compareTo(user.name);
    }
}

//自定义反向排序比较器
class ReverseSort implements Comparator{

    public int compare(Object obj1,Object obj2) {
        UserBean user1 = (UserBean)obj1;
        UserBean user2 = (UserBean)obj2;
        return -user1.name.compareTo(user2.name);
    }
}


0
5
分享到:
评论
2 楼 qiu768 2008-11-05  
非常感谢,帮了我一个大忙!!再谢!
1 楼 cn_arthurs 2008-10-08  
顶个  

相关推荐

    Java对集合中的对象排序

    对集合中的对象进行排序,例如:List中存放了User对象,则可根据User对象的某一个属性进行顺序or倒序的排序

    java版本List中对象多属性排序.rar

    java版本List中对象多属性排序.rar

    java根据List内对象的属性排序方法

    下面小编就为大家分享一篇java根据List内对象的属性排序方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    Java实现储存对象并按对象某属性排序的几种方法示例

    主要介绍了Java实现储存对象并按对象某属性排序的几种方法,结合实例形式详细分析了Java储存对象并按对象某属性排序的具体实现方法与操作注意事项,需要的朋友可以参考下

    java中进行集合排序

    java中按找对象的某个属性进行升序降序的排序

    java ArrayList集合中的某个对象属性进行排序的实现代码

    主要介绍了java ArrayList集合中的某个对象属性进行排序的实现代码,需要的朋友可以参考下

    精通 Hibernate:Java 对象持久化技术详解(第2版).part2

    第13章 Java集合类  13.1 Set(集)  13.1.1 Set的一般用法  13.1.2 HashSet类  13.1.3 TreeSet类  13.1.4 向Set中加入持久化类的对象  13.2 List(列表)  13.3 Map(映射)  13.4 小结  13.5 思考题 第14...

    Java开发技术大全(500个源代码).

    invokeMethod.java 同一个类中调用方法示例 invokeOther.java 类的外部调用方法示例 invokeStaticMethod.java 调用静态方法示例 localVariable.java 演示局部变量 localVSmember.java 局部变量与成员变量同名...

    根据某个属性对List中的所有对象分组,该属性值相同的对象分到一个组

    但是前端说将结果按某个属性分组,每组单独一个集合,集合第一个元素为该属性,第二个元素为该属性值相同的所有对象集合,由于是小白一个,这个数据整理也是花了点时间,这里整理一下处理方法。 1.利用JDK1.8的新...

    Thinking in Java简体中文(全)

    2.2.3 Java中的数组 2.3 绝对不要清除对象 2.3.1 作用域 2.3.2 对象的作用域 2.4 新建数据类型:类 2.4.1 字段和方法 2.5 方法、自变量和返回值 2.5.1 自变量列表 2.6 构建Java程序 2.6.1 名字的可见性 2.6.2 使用...

    Java集合框架的一个扑克牌小程序

    * 方法: public PockerCard() //无参构造函数: 创建牌的集合、创建两个角色对象 * public void initializeCard() //创建整幅扑克牌 * public void showCard() //显示单支牌的花色和点数 * public void ...

    java联想(中文)

    7.6.2 方法和作用域中的内部类 7.6.3 链接到外部类 7.6.4 static内部类 7.6.5 引用外部类对象 7.6.6 从内部类继承 7.6.7 内部类可以覆盖吗? 7.6.8 内部类标识符 7.6.9 为什么要用内部类:控制框架 7.7 构建器和...

    java 面试题 总结

    Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。 10、&和&&的区别。 &是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)。 11、HashMap...

    JAVA面试题最全集

    方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() ...

    Thinking in Java 中文第四版+习题答案

    2.2.3 Java中的数组 2.3 绝对不要清除对象 2.3.1 作用域 2.3.2 对象的作用域 2.4 新建数据类型:类 2.4.1 字段和方法 2.5 方法、自变量和返回值 2.5.1 自变量列表 2.6 构建Java程序 2.6.1 名字的可见性 2.6.2 使用...

    疯狂JAVA讲义

    7.1 Java集合概述 241 7.2 Collection和Iterator接口 243 7.2.1 使用Iterator接口遍历集合元素 244 7.2.2 使用foreach循环遍历集合元素 246 7.3 Set接口 247 7.3.1 HashSet类 247 学生提问:hashCode方法对于...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part4

    第13章 Java集合类  13.1 Set(集)  13.1.1 Set的一般用法  13.1.2 HashSet类  13.1.3 TreeSet类  13.1.4 向Set中加入持久化类的对象  13.2 List(列表)  13.3 Map(映射)  13.4 小结  13.5 思考题 第14...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part3

    第13章 Java集合类  13.1 Set(集)  13.1.1 Set的一般用法  13.1.2 HashSet类  13.1.3 TreeSet类  13.1.4 向Set中加入持久化类的对象  13.2 List(列表)  13.3 Map(映射)  13.4 小结  13.5 思考题 第14...

Global site tag (gtag.js) - Google Analytics