java基础 -- Collections.sort的两种用法
- /**
- * @author
- * @version
- * 类说明
- */
- package com.jabberchina.test;
- 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<String> lists = new ArrayList<String>();
- List<A> list = new ArrayList<A>();
- List<B> listB = new ArrayList<B>();
- 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<B>(){
- @Override
- 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<A>{
- 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;
- }
- @Override
- 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, 5, 9]
- [name is aa order is 1, name is bb order is 2]
- [name is ab order is 1, name is ba order is 2]
java基础 -- Collections.sort的两种用法的更多相关文章
- java基础——Collections.sort的两种用法
Collections是一个工具类,sort是其中的静态方法,是用来对List类型进行排序的,它有两种参数形式: public static <T extends Comparable<? ...
- java基础—— Collections.sort的两种用法
package com.jabberchina.test; import java.util.ArrayList; import java.util.Collections; import java. ...
- Comparable和Comparator的区别&Collections.sort的两种用法
在Java集合的学习中,我们明白了: 看到tree,可以按顺序进行排列,就要想到两个接口.Comparable(集合中元素实现这个接口,元素自身具备可比性),Comparator(比较器,传入容器构造 ...
- Collections.sort的两种用法 转
/** * @author guwh * @version 创建时间:2011-11-3 上午10:49:36 * 类说明 */ package com.jabberchina.test; impor ...
- Collections.sort的两种用法
http://gwh-08.iteye.com/blog/1233401/ class Foo implements Comparable<Foo>{ @Override public i ...
- Java中Collections类的排序sort函数两种用法
java中的Colletions类主要实现列表List的排序功能.根据函数参数的传递,具体的排序可以分为 : 1. 自然排序(natural ordering). 函数原型:sort(List< ...
- Collections.sort的三种用法
/** * @author guwh * @version 创建时间:2011-11-3 上午10:49:36 * 类说明 */ package com.jabberchina.test; impor ...
- Java中Array.sort()的几种用法
****************************************************** * 精品书籍推荐:<Java从入门到经通> * 本书系统全面.浅显易懂,非常适 ...
- Java中Array.sort()的几种用法(需要初始化要排序的对象)
====================================================== 1.Arrays.sort(int[] a) 这种形式是对一个数组的所有元素进行排序,并且 ...
随机推荐
- windows网络模型之重叠IO的使用
大部分内容转载自https://blog.csdn.net/piggyxp/article/details/114883 目录: 1. 重叠模型的优点 2. 重叠模型的基本原理 3. 关于重叠模型的基 ...
- Android(java)学习笔记38:Android 短信发送
1.第一种可以调用系统内部的短信程序. 之前我曾经出现过一个bug就是报错: android.content.ActivityNotFoundException: No Activity found ...
- ASP.NET SignalR 与LayIM配合,轻松实现网站客服聊天室(六)之 好友申请、同意、拒绝
不知道距离上一篇多久没有写了,可能是因为忙(lan)的关系吧.废话不多说,今天要介绍的不算什么新知识,主要是逻辑上的一些东西.什么逻辑呢,加好友,发送好友申请,对方审批通过,拒绝.(很遗憾,对方审批通 ...
- 关于eclipse中引入项目报错或者没有JRE System Library问题(jre报错)或者jre1.7(8)改为jre1.8(7)等问题
解决方法: 右键项目工程-->>properties->>java bulid path -->>>libraries -->>add libra ...
- java中String、StringBuffer和StringBuilder的区别(简单介绍)
简单介绍 java中用于处理字符串常用的有三个类: 1.java.lang.String 2.java.lang.StringBuffer 3.java.lang.StrungBuilder 三者共同 ...
- 【luogu P3275 [SCOI2011]糖果】 题解
题目链接:https://www.luogu.org/problemnew/show/P3275 把不等式 A > B 转化成 A - B >= 1或者 B - A <= -1再差分 ...
- Android学习笔记_70_一个应用程序启动另一个应用程序的Activity
第一种(我自己写的) :之前在网上看来一些,很多不是我要的可以启动另外一个应用程序的主Activity. //这些代码是启动另外的一个应用程序的主Activity,当然也可以启动任意一个Activit ...
- JS高阶函数与函数柯里化
高阶函数 满足下列条件之一的函数: 函数作为参数被传递(如回调函数): 函数可以作为返回值输出: 一些内置高阶函数的例子: Array.prototype.map map()方法通过调用对输入数组中的 ...
- SpringBoot非官方教程 | 第十三篇:springboot集成spring cache
转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springboot/2017/07/11/springboot13-springcache/ 本文出自方志朋的博 ...
- Percona-Tookit工具包之pt-show-grants
Preface User privileges regulation is pretty important in DBAs routine job.As we all know,it ...