博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
List排序
阅读量:2385 次
发布时间:2019-05-10

本文共 3701 字,大约阅读时间需要 12 分钟。

package cn.edu.zzu;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;public class SortTest {        public static void main(String[] args) {        List
lists = new ArrayList
(); List
list = new ArrayList
(); List listB = new ArrayList(); lists.add("5"); lists.add("2"); lists.add("9"); //lists中的对象String 本身含有compareTo方法,所以可以直接调用sort方法,按自然顺序排序,即升序排序 Collections.sort(lists); A aa = new A(); aa.setName("aa"); aa.setOrder(1); A bb = new A(); bb.setName("bb"); bb.setOrder(2); list.add(bb); list.add(aa); //list中的对象A实现Comparable接口 Collections.sort(list); B ab = new B(); ab.setName("ab"); ab.setOrder("1"); B ba = new B(); ba.setName("ba"); ba.setOrder("2"); listB.add(ba); listB.add(ab); //根据Collections.sort重载方法来实现 Collections.sort(listB,new Comparator(){ public int compare(B b1, B b2) { return b1.getOrder().compareTo(b2.getOrder()); } }); System.out.println(lists); System.out.println(list); System.out.println(listB); }}class A implements Comparable
{ private String name; private Integer order; public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getOrder() { return order; } public void setOrder(Integer order) { this.order = order; } @Override public String toString() { return "name is "+name+" order is "+order; } public int compareTo(A a) { return this.order.compareTo(a.getOrder()); } }class B{ private String name; private String order; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getOrder() { return order; } public void setOrder(String order) { this.order = order; } @Override public String toString() { return "name is "+name+" order is "+order; }}

运行结果:

[2, 34, 3434]

[name is aa order is 1, name is bb order is 2]
[name is ab order is 1, name is ba order is 2]

package cn.edu.zzu;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;public class List元素排序 {    public static void main(String[] args) {        List
list = new ArrayList
(); // 创建3个学生对象,年龄分别是20、19、21,并将他们依次放入List中 Student s1 = new Student(); s1.setAge(20); Student s2 = new Student(); s2.setAge(19); Student s3 = new Student(); s3.setAge(21); list.add(s1); list.add(s2); list.add(s3); System.out.println("排序前:" + list); Collections.sort(list, new Comparator
() { /* * int compare(Student o1, Student o2) 返回一个基本类型的整型, 返回负数表示:o1 小于o2, * 返回0 表示:o1和o2相等, 返回正数表示:o1大于o2。 */ public int compare(Student o1, Student o2) { // 按照学生的年龄进行升序排列 if (o1.getAge() > o2.getAge()) { return 1; } if (o1.getAge() == o2.getAge()) { return 0; } return -1; } }); System.out.println("排序后:" + list); }}class Student { private int age; public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return getAge() + ""; }}

排序前:[20, 19, 21]

排序后:[19, 20, 21]

 

posted @
2018-02-06 11:51 阅读(
...) 评论(
...)

转载地址:http://rwjab.baihongyu.com/

你可能感兴趣的文章
ssh 命令的用法
查看>>
scp 命令的用法
查看>>
ldcofig 命令的用法
查看>>
tar 命令的用法
查看>>
mount 命令的用法
查看>>
fdisk 命令的用法
查看>>
ln 命令的用法
查看>>
ORACLE的归档空间满导致的监听故障数据库无法启动
查看>>
GRID卸载及重新安装
查看>>
shell 带参数脚本
查看>>
QTcpSocket 编程
查看>>
java 开发环境配置
查看>>
java bufferedreader 与inputstream的区别
查看>>
Jsp页面Word文档的生成
查看>>
二叉树的构建及遍历 Java实现
查看>>
xml schema约束 学习记录
查看>>
线索二叉树(中序) Java实现
查看>>
Hibernate cascade 级联操作
查看>>
马踏棋盘算法 Java实现
查看>>
hibernate hql 多表关联一个小细节
查看>>