1、问题:页面有个排序列表,有name和age,后台为一个Arraylist,怎么做排序好点?
2、User类,实现Comparable接口,重写里面的compareTo方法:
package com.baidu.test; public class User implements Comparable<User> { private String name; private int age; public User(String name, int age) { super(); this.name = name; this.age = age; } // 按名字排序,如果名字相同则按年龄排序 public int compareTo(User user) { if (this.name.compareTo(user.getName()) > 0) { return 1; } else if (this.name.compareTo(user.getName()) < 0) { return -1; } else { if (this.age > user.getAge()) { return 1; } else if (this.age < user.getAge()) { return -1; } } return 0; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
3、测试:
package com.baidu.test; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.Iterator; import java.util.List; public class Test { public static void main(String[] args) { User user1 = new User("a", 1); User user2 = new User("a", 2); User user3 = new User("b", 6); User user4 = new User("c", 3); User user5 = new User("a1", 5); User user6 = new User("a4", 1); User user7 = new User("d", 5); List list = new ArrayList(); list.add(user1); list.add(user2); list.add(user3); list.add(user4); list.add(user5); list.add(user6); list.add(user7); Collections.sort(list); Iterator itr = list.iterator(); while(itr.hasNext()){ User user = (User) itr.next(); System.out.println(user.getName()+":"+user.getAge()); } } } --------------------------------------------------------- a:1 a:2 a1:5 a4:1 b:6 c:3 d:5 ---------------------------------------------------------
相关推荐
通过简单的例子初步了解Comparable和Comparator的使用,注释很详细
1.什么是Comparable接口 此接口强行对实现它的每个类的对象进行整体排序。此排序被称为该类的自然排序 ,类的 compareTo 方法被称为它的自然比较方法 。实现此接口的对象列表(和数组)可以通过 Collections.sort ...
Comparable&Comparator区别,看完就明白了
java排序Comparator和Comparable
Comparable的用法1---马克-to-win java视频的详细描述
comparator接口与Comparable接口的区别
Java-中的-Comparator-和-Comparable.md
资源分类:Python库 所属语言:Python 资源全名:Comparable-0.0.3.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
java通过Comparable接口实现字符串比较大小排序的简单实例
教你学会Comparator和Comparable
一种新的高效的基于请求的比较加密方案,陈鹏,叶俊,数据库中的加密数字比较是学术研究中的热点。尽管保序加密(OPE)可以达到这个目标,但是当一个范围内的所有数都用OPE来加密时,攻击者��
Java中Comparable和Comparator的区别共3页.pdf.zip
Comparable与Comparator的区别Java开发Java经验技巧共3页.pdf.zip
基于事件抽取的中日新闻可比语料库构建,杨健,徐金安,平行双语语料库提供了两种相应语言的丰富的匹配信息。通常情况下,获得高质量和大规模平行双语语料库的难度较大。在本文中,我们
NULL 博文链接:https://hellogava.iteye.com/blog/1570101
详细的介绍了Java中Comparable与Comparator的区别
【推选】Comparable自比较接口PPT资料.pptx
java的Comparator和Comparable
java comparable和compartor区别和联系
Comparable的用法2---马克-to-win java视频的详细描述