博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java基础 -- Collections.sort的两种用法
阅读量:5299 次
发布时间:2019-06-14

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

  1. /** 
  2. * @author
  3. * @version
  4. * 类说明 
  5. */   
  6. package com.jabberchina.test;  
  7.   
  8. import java.util.ArrayList;  
  9. import java.util.Collections;  
  10. import java.util.Comparator;  
  11. import java.util.List;  
  12.   
  13. public class SortTest {  
  14.       
  15.       
  16.       
  17.     public static void main(String[] args) {  
  18.         List<String> lists = new ArrayList<String>();  
  19.         List<A> list = new ArrayList<A>();  
  20.         List<B> listB = new ArrayList<B>();  
  21.         lists.add("5");  
  22.         lists.add("2");  
  23.         lists.add("9");  
  24.         //lists中的对象String 本身含有compareTo方法,所以可以直接调用sort方法,按自然顺序排序,即升序排序  
  25.         Collections.sort(lists);  
  26.           
  27.         A aa = new A();  
  28.         aa.setName("aa");  
  29.         aa.setOrder(1);  
  30.         A bb = new A();  
  31.         bb.setName("bb");  
  32.         bb.setOrder(2);  
  33.         list.add(bb);  
  34.         list.add(aa);  
  35.         //list中的对象A实现Comparable接口  
  36.         Collections.sort(list);  
  37.           
  38.         B ab = new B();  
  39.         ab.setName("ab");  
  40.         ab.setOrder("1");  
  41.         B ba = new B();  
  42.         ba.setName("ba");  
  43.         ba.setOrder("2");  
  44.         listB.add(ba);  
  45.         listB.add(ab);  
  46.         //根据Collections.sort重载方法来实现  
  47.         Collections.sort(listB,new Comparator<B>(){  
  48.             @Override  
  49.             public int compare(B b1, B b2) {  
  50.                 return b1.getOrder().compareTo(b2.getOrder());  
  51.             }  
  52.               
  53.         });  
  54.           
  55.         System.out.println(lists);  
  56.         System.out.println(list);  
  57.         System.out.println(listB);  
  58.           
  59.     }  
  60.   
  61. }  
  62.   
  63. class A implements Comparable<A>{  
  64.     private String name;  
  65.     private Integer order;  
  66.     public String getName() {  
  67.         return name;  
  68.     }  
  69.     public void setName(String name) {  
  70.         this.name = name;  
  71.     }  
  72.       
  73.     public Integer getOrder() {  
  74.         return order;  
  75.     }  
  76.     public void setOrder(Integer order) {  
  77.         this.order = order;  
  78.     }  
  79.     @Override  
  80.     public String toString() {  
  81.         return "name is "+name+" order is "+order;  
  82.     }  
  83.     @Override  
  84.     public int compareTo(A a) {  
  85.         return this.order.compareTo(a.getOrder());  
  86.     }  
  87.       
  88. }  
  89.   
  90. class B{  
  91.     private String name;  
  92.     private String order;  
  93.     public String getName() {  
  94.         return name;  
  95.     }  
  96.     public void setName(String name) {  
  97.         this.name = name;  
  98.     }  
  99.     public String getOrder() {  
  100.         return order;  
  101.     }  
  102.     public void setOrder(String order) {  
  103.         this.order = order;  
  104.     }  
  105.     @Override  
  106.     public String toString() {  
  107.         return "name is "+name+" order is "+order;  
  108.     }  
  109. }  
  110.   
  111. 打印的结果为:  
  112.  [2, 5, 9]  
  113. [name is aa order is 1, name is bb order is 2]  
  114. [name is ab order is 1, name is ba order is 2]  

转载于:https://www.cnblogs.com/uriel/p/5081804.html

你可能感兴趣的文章
python workspace_python报错汇总
查看>>
python 模拟登录web 库_[Python] Python 模拟登录,并请求
查看>>
python图色模拟脚本_利用python编写一个图片主色转换的脚本
查看>>
java jdts mssql_JSP直连MSSQL代码示例
查看>>
java socket datainputstream_Java DataInputStream.available方法代碼示例
查看>>
php接口百度百科_php接口由什么组成
查看>>
php手机验证码源码,php验证码实现源码
查看>>
php fpm高并发,php服务器高并发优化思路
查看>>
php gd 图像翻转,php(gd库)输出中文图像的转换函数
查看>>
java 表头添加复选框,表头带有CheckBox可以实现全选的jtable
查看>>
java b组 小计算器,简单计算器..
查看>>
php server port,$_SERVER[‘SERVER_PORT’]关于php5.2一个bug
查看>>
php 类 init,PHP内核探索:类的定义
查看>>
java的二叉树树一层层输出,Java构造二叉树、树形结构先序遍历、中序遍历、后序遍历...
查看>>
meep php,麻省理工时域差分软件 MEEP windows 下编译开发(一)——准备工作
查看>>
matlab的清除0,matlab中的平均值clear %清除变量dx=0.01*2*pi; %间隔x=0:dx:2*pi; %自变量向量y=...
查看>>
php 循环套 重复,php 循环套循环 出现重复数据
查看>>
mysql distince,MySQL学习(未完待续)
查看>>
php libevent 定时器,PHP 使用pcntl和libevent实现Timer功能
查看>>
对数字进行 混淆 php,解密混淆的PHP程序
查看>>