Java集合排序
【 1.对普通的包装类基本数据类型的list数组排序(Integer,Long,Double) 】
Collections.sort(List list)
【例】
List<Long> musicIds = new ArrayList<>();
musicIds.add(, 1l);
musicIds.add(, 10l);
musicIds.add(, 2l);
musicIds.add(, 8l);
musicIds.add(, 4l);
System.out.println("排序前:" + musicIds.toString());
Collections.sort(musicIds);
System.out.println("从小到大排序后:" + musicIds.toString());
【运行结果】
【 2.对普通的对象进行排序,根据对象中的某个成员变量(比如id) 】
public static void sort2(){
List<DataResponse> dataResponseList = Lists.newArrayList();
dataResponseList.add(new DataResponse(1001L,));
dataResponseList.add(new DataResponse(1002L,));
dataResponseList.add(new DataResponse(1003L,));
dataResponseList.add(new DataResponse(1004L, ));
Collections.sort(dataResponseList, new Comparator<DataResponse>() {
@Override
public int compare(DataResponse o1, DataResponse o2) {
return Integer.compare(o1.dataType, o2.dataType);
}
}); System.out.println("按dataType排序:\n" + dataResponseList.toString()); Collections.sort(dataResponseList, new Comparator<DataResponse>() {
@Override
public int compare(DataResponse o1, DataResponse o2) {
return Double.compare(o1.dataId,o2.dataId);
}
});
System.out.println("\n按dataId排序:\n"+dataResponseList.toString());
} static class DataResponse{
Long dataId;
Integer dataType; public DataResponse() {
} public DataResponse(Long dataId, Integer dataType) {
this.dataId = dataId;
this.dataType = dataType;
} public Long getDataId() {
return dataId;
} public void setDataId(Long dataId) {
this.dataId = dataId;
} public Integer getDataType() {
return dataType;
} public void setDataType(Integer dataType) {
this.dataType = dataType;
} @Override
public String toString() {
return "DataResponse{" +
"dataId=" + dataId +
", dataType=" + dataType +
'}';
}
}
【运行结果】
Java集合排序的更多相关文章
- java 集合排序(转)
Java API针对集合类型排序提供了两种支持:java.util.Collections.sort(java.util.List)java.util.Collections.sort(java.ut ...
- Java集合排序及java集合类详解--(Collection, List, Set, Map)
1 集合框架 1.1 集合框架概述 1.1.1 容器简介 到目前为止,我们已经学习了如何创建多个不同的对象,定义了这些对象以后,我们就可以利用它们来做一 ...
- Java集合排序(面试必考点之一)
集合是Java面试必考知识点,而集合的排序也是非常重要的,工作中经常用到,那么这个知识点也是必须要掌握的,下面是我曾经面试时被面试官问的问题: 根据API可知,Java集合的工具类Collection ...
- java 集合排序
Java API针对集合类型排序提供了两种支持:java.util.Collections.sort(java.util.List)java.util.Collections.sort(java.ut ...
- Java集合排序方法comparable和comparator的总结
一.概述Comparable和Comparator都是用来实现集合中元素的比较.排序的.Comparable是在集合内部定义的方法实现的排序,位于java.lang下.Comparator是在集合外部 ...
- Java集合排序(看完秒懂)
比如将一个List<Student>排序,则有两种方式: 1:Student实现Comparable接口: 2:给排序方法传递一个Comparator参数: 请看下面的举例: Studen ...
- 关于java集合排序
对于排序,java开发者并不陌生. 为避免以后遗忘,现在再次总结一下! 常见8大排序算法, 平时自己熟悉的只有几种种!冒泡,二分/折半.插入.快排等!现在一一讲解一下,这里只讲思想,暂时不做实现! 一 ...
- Java比较器对数组,集合排序一
数组排序非常简单,有前辈们的各种排序算法,再加上Java中强大的数组辅助类Arrays与集合辅助类Collections,使得排序变得非常简单,如果说结合比较器Comparator接口和Collato ...
- Java集合框架实现自定义排序
Java集合框架针对不同的数据结构提供了多种排序的方法,虽然很多时候我们可以自己实现排序,比如数组等,但是灵活的使用JDK提供的排序方法,可以提高开发效率,而且通常JDK的实现要比自己造的轮子性能更优 ...
随机推荐
- python学习,day3:示例,进度条
# coding=utf-8 # Author: RyAn Bi import sys,time for i in range(50): sys.stdout.write("#") ...
- sublime text3 license & nodejs setting
----- BEGIN LICENSE ----- sgbteam Single User License EA7E-1153259 8891CBB9 F1513E4F 1A3405C1 A865D5 ...
- 分分钟钟学会Python - 数据类型(set)
目录 今日内容 具体内容 1.集合含义 2.独有方法 3.公共方法 4.特殊情况 5.总结 @ 今日内容 集合(set) 具体内容 1.集合含义 一个无序的不重复元素序列. 可以使用大括号 { } 或 ...
- ActivityManager的代理模式
从官方文档的介绍可以看到ActivityManager的作用: 是与系统所有正在运行着的Acitivity进行交互,对系统所有运行中的Activity相关信息(Task,Memory,Service, ...
- Android可见APP的不可见任务栈(TaskRecord)销毁分析
Android依托Java型虚拟机,OOM是经常遇到的问题,那么在快达到OOM的时候,系统难道不能回收部分界面来达到缩减开支的目的码?在系统内存不足的情况下,可以通过AMS及LowMemoryKill ...
- (转)虚拟路由器冗余协议【原理篇】VRRP详解
原文:http://blog.51cto.com/zhaoyuqiang/1166840 为什么要使用VRRP技术 我们知道,为了实现不同子网之间的设备通信,需要配置路由.目前常用的指定路由方法有两种 ...
- Js框架设计之DomReady
一.在介绍DomReady之前,先了解下相关的知识 1.HTML是一种标记语言,告诉我们这页面里面有什么内容,但是行为交互则要通过DOM操作来实现,但是注意:不要把尖括号里面的内容看作是DOM! 2. ...
- synchronized的可见性理解
之前的时候看<并发编程的艺术>,书中提到dcl写法的单例模式是有问题的,有可能会导致调用者得到一个创建了一半的对象,从而导致报错.修复办法是将单例对象的引用添加volatile进行修饰,禁 ...
- c++ 网络编程(七) LINUX下 socket编程 基于套接字的标准I/O函数使用 与 fopen,feof,fgets,fputs函数用法
原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/9614820.html 一.标准I/O 1,什么是标准I/O?其实是指C语言里的文件操作函数,如 ...
- vi 中插入当前时间
声明 笔者最近意外的发现 笔者的个人网站http://tiankonguse.com/ 的很多文章被其它网站转载,但是转载时未声明文章来源或参考自 http://tiankonguse.com/ 网站 ...