一、jdk1.6的环境下

新建ComparatorSort类,并实现Comparator接口,重写compare方法

降序排序:o1的元素>o2的元素,并返回-1;o1的元素小于o2的元素,并返回1

升序排序:o1的元素>o2的元素,并返回1;o1的元素小于o2的元素,并返回-1

在方法中可对多个元素进行判断。

import java.util.Comparator;

import app.component.app.entity.AppProjectContRankVo;

public class ComparatorSort implements Comparator {

@Override

public int compare(AppProjectContRankVo o1, AppProjectContRankVo o2) {

if(o1.getOverdueRatio().compareTo(o2.getOverdueRatio())==1){

return -1;

}else if(o1.getOverdueRatio().compareTo(o2.getOverdueRatio())==-1){

return 1;

}else{

return 0;

}

}

}

然后对需要排序的集合执行collections.sort

Collections.sort(conBalCountByOrgNoList,new ComparatorSort());

二、jdk1.8环境下

可使用stream进行排序

多条件排序使用:thenComparing

降序排序使用:reversed()

List list = new ArrayList();

User user1 = new User();

user1.setAge(19);

user1.setScore(29);

list.add(user1);

User user2 = new User();

user2.setAge(65);

user2.setScore(322);

list.add(user2);

User user3 = new User();

user3.setAge(19);

user3.setScore(89);

list.add(user3);

List listSort = list.stream().sorted(Comparator.comparing(User::getAge).reversed().thenComparing(User::getScore)).collect(Collectors.toList());

for(User u:listSort){

System.out.println(u.getAge()+"|"+u.getScore());

}

Java Map集合按照key和value排序之法

一.理论基点 Map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等. TreeMap:基于红黑树(Red-Black-Tre ...

Java:List集合内的对象进行排序

List集合中的对象进行排序,除了for外,还有java的Collections对象来对摸个集合进行排序的用法. 比如说我有一个List集合,集合元素为: public class TaskAutoE ...

java数组集合元素的查找

java数组和集合的元素查找类似,下面以集合为例. 数组集合元素查找分为两类: 基本查找: 二分折半查找: 基本查找: 两种方式都是for循环来判断,一种通过索引值来判断,一种通过数组索引判断. 索引 ...

Java依据集合元素的属性,集合相减

两种方法:1.集合相减可以使用阿帕奇的一个ListUtils.subtract(list1,list2)方法,这种方法实现必须重写集合中对象的属性的hashCode和equals方法,集合相减判断的会 ...

java 判断集合元素唯一的原理

一 ArrayList的contains方法判断元素是否重复原理 ArrayList的contains方法会使用调用方法时,传入的元素的equals方法依次与集合中的旧元素 所比较,从而根据返回的布尔 ...

Java基础知识强化之集合框架笔记47:Set集合之TreeSet保证元素唯一性和比较器排序的原理及代码实现(比较器排序:Comparator)

1. 比较器排序(定制排序) 前面我们说到的TreeSet的自然排序是根据集合元素的大小,TreeSet将它们以升序排列. 但是如果需要实现定制排序,比如实现降序排序,则要通过比较器排序(定制排序)实 ...

java的list集合如何根据对象中的某个字段排序?

转自:http://blog.csdn.net/wangjuan_01/article/details/51351633 List集合按某个字段排序 package wjtest_01; import ...

Java基础知识强化之集合框架笔记44:Set集合之TreeSet保证元素唯一性和自然排序的原理和图解

1. TreeSet保证元素唯一性和自然排序的原理和图解 2. TreeSet唯一性以及有序性底层剖析: 通过观察TreeSet的add()方法,我们知道最终要看TreeMap的put()方法. 跟踪 ...

Java:集合,对列表(List)中的自定义对象按属性(字段)排序(正序、倒序)的方法

1. 要求 对列表(List)中的自定义对象,要求能够按照对象的属性(字段)进行排序(正序.倒序). 如:用户对象(Member)有用户名(username).级别(level).出生日期(birth ...

随机推荐

提高PHP代码质量的36个技巧

1.不要使用相对路径 常常会看到: require_once('../../lib/some_class.php'); 该方法有很多缺点: 它首先查找指定的php包含路径, 然后查找当前目录. 因此会 ...

MySql unique的实现原理简析

1.测试过程如下: CREATE TABLE `test` ( `id` ) NOT NULL AUTO_INCREMENT, `name` ) DEFAULT NULL, PRIMARY KEY ( ...

Cordova 打包 Android release app 过程详解

Cordova 打包 Android release app 过程详解 时间 -- :: SegmentFault 原文 https://segmentfault.com/a/119000000517 ...

IIS SMTP Queue stuck

1. review smtp logs in C:\Windows\System32\LogFiles\SMTPSVC1, 2. find 421 error 2014-12-08 02:02:40 ...

CSDN中根据文章自动生成文章目录

概述 CSDN中有根据文件内容中H标签在文章中自动生成文章目录,看起来比较专业,就想把它搬到自己的博客园中.类似下图 提取JS脚本 通过浏览器开发者工具(IE/Chrome)找到产生文章目录javas ...

UserAgentStringLibrary

It is at WebWorkContext.CurrentCustomer's part. //check whether request is made by a search engine / ...

Sublime themes/ lint themes setup

[Sublime 3 Setup for ES6 / Babel] https://www.youtube.com/watch?v=L8nmOqyyJLA [config oceanic next t ...

grep 及正则表达式

grpe 及正则表达式 文本查找的需要:grep,egrep,fgrepgrep: 根据模式,搜索文本,并将符合模式的文本行显示出来.Pattern : 文本字符以及正则表达式的元字符组合而成的匹配条 ...

c/c++ linux 进程间通信系列5,使用信号量

linux 进程间通信系列5,使用信号量 信号量的工作原理: 由于信号量只能进行两种操作等待和发送信号,即P(sv)和V(sv),他们的行为是这样的: P(sv):如果sv的值大于零,就给它减1:如果 ...

java中list元素排序_java list集合元素根据某些字段排序相关推荐

  1. java json 对象如何对属性排序_Java对象集合、对象数组如何排序?你需要知道这两种方式...

    一.引子 在比较Java对象时,正常情况下,我们只能使用==或!=进行比较,而不能使用>或者<这样的运算符. 那么问题来了,开发过程中我们经常要对多个对象排序,排序必然需要比较,那么如何实 ...

  2. java中map怎么遍历,Java中怎么遍历Map的所有的元素

    Java中怎样遍历Map的所有的元素 JDK1.4中 view plaincopy to clipboardprint? Map map = new HashMap(); Iterator it = ...

  3. java中list,set,map集合的区别,及面试要点

    Map集合:链接: Map集合的五种遍历方式及Treemap方法 Set集合:链接: Java中遍历Set集合的三种方法 TreeSet集合:链接: Java深入了解TreeSet,和迭代器遍历方法 ...

  4. Java stream().sorted()实现排序(升序、降序、多字段排序)

    1 自然排序 sorted():自然排序,流中元素需实现Comparable接口 package com.entity;import lombok.*;@Data @ToString @AllArgs ...

  5. java 中list类型未知_Java集合-List

    Java Collection 在 Java2中,有一套设计优良的接口和类组成了Java集合框架Collection,使程序员操作成批的数据或对象元素极为方便.这些接口和类有很多对抽象数据类型操作的A ...

  6. java 对象多属性排序_java list按照元素对象的指定多个字段属性进行排序

    package com.enable.common.utils; import java.lang.reflect.Field; import java.text.NumberFormat; impo ...

  7. java中数据结构的应用_Java集合入门 (二)常用数据结构和应用场景-数组

    Java极客  |  作者  /  铿然一叶 这是Java极客的第 48 篇原创文章 一.数组的特点 1.数组大小固定 2.一个数组只能存储相同数据类型 3.随机访问性能高 4.存储空间连续,这样可以 ...

  8. java 对多个元素对象的排序_java list按照元素对象的指定多个字段属性进行排序...

    ListUtils.java---功能类 package com.enable.common.utils; import java.lang.reflect.Field; import java.te ...

  9. java中set的遍历_java中遍历set集合,java中set怎么遍历?

    之前给大家介绍了一下java对set对象进行去重的方法,那么下面接着给大家介绍的就是java中遍历set集合方法的内容,一起来了解一下具体方法吧! java中遍历set的三种方式:对set的遍历 1. ...

最新文章

  1. web服务器 字体.svg/.woff/.woff2 404错误 解决方案
  2. FreeRTOS — 临界段和开关中断
  3. JAVA基础学习日记-----持续更新
  4. Docker查看应用的实际内存
  5. ASP.NET Core 源码学习之Logging[1]:Introduction
  6. Android Studio安装问题及填坑
  7. nextboolean()_Java Random nextBoolean()方法与示例
  8. 多线程编程中锁的种类与应用举例
  9. 在VB中使用API“SHFileOperation”删除文件的三个问题
  10. 方波信号的上升沿与带宽
  11. ShowWindow与UpdateWindow
  12. python拼图_利用python制作拼图小游戏的全过程
  13. 程序员简历项目经历怎么写 ?三条原则不可忽视 【项目案例分享】
  14. Windows 10 资源管理器使用深色主题
  15. Android 直播RTMP流
  16. JSD-2204-创建Spring项目-Day19
  17. 解决”Windows已经保护您的电脑”的三个方法
  18. 液晶12864显示字符
  19. 码农的自我修养 - ARM V9架构的巨大价值
  20. python画行向日葵,基于matplotlib的向日葵散点图

热门文章

  1. JS获取img图片的原始尺寸高度和宽度
  2. 从〇开始可微神经搜索DARTS分析第〇章:意义与基础结构
  3. 小米Civi正式发布:售价2599元起,聚焦年轻女性用户
  4. Python异步爬虫技术:10秒抓取3000条房源信息!
  5. Python_Task09:文件与文件系统
  6. python自动化测试第三次课-----数据类型,list,元组,切片,字典
  7. Koch snowflake fractal (科赫雪花分形)
  8. MongoDB学习系列 -- 索引
  9. QT中常用的输入控件
  10. e470c拆机图解全拆 thinkpad_联想ThinkPad T470拆机图解教程