List集合自定义排序!
1.按照任意字段排序(使用范围数据库查询出来的多个集合拼接成一个集合后按照特定字段进行排序)
工具类:
import java.util.Comparator;
import java.util.HashMap;
import java.util.Map;import com.jfinal.plugin.activerecord.Record;public class SortClass implements Comparator {@Overridepublic int compare(Object o1, Object o2) {Map map1 = new HashMap();Map map2 = new HashMap();map1 = (Map) o1;map2 = (Map) o2;//sort字段是集合的排序字段int flag = map1.get("sort").toString().compareTo(map2.get("sort").toString());return flag;}}
排序代码:
SortClass sort = new SortClass();//resultA是拼装好的List集合Collections.sort(resultA,sort);
2.List集合按照特定字段的值进行排序
使用范围:比如下面的添加完成后的集合要按照香蕉、苹果、葡萄的顺序展示在页面。
List<Map> list = new ArrayList<Map>();Map map = new HashMap();// 添加苹果信息map.put("name", "apple");map.put("price", "5");list.add(map);Map map2 = new HashMap();// 添加香蕉信息map.put("name", "banana");map.put("price", "6");list.add(map2);Map map3 = new HashMap();// 添加葡萄信息map.put("name", "grape");map.put("price", "6");list.add(map3);
排序代码:
// 定义排序顺序
private static String[] FRUITSORT = {"banana","apple","grape"};Map<String, Map> map2 = new HashMap<String, Map>();
LinkedList<Map> resultList = new LinkedList<Map>();
for(Map bean : list){map2.put(bean.get("name").toString(), bean);
}Map map3 = null;Map map4 = new HashMap();
for(String str : FRUITSORT){if((map3 = map2.get(str)) != null){map4 = new HashMap();map4.put("name", map3.get("name"));map4.put("price", map3.get("price"));resultList.add(map4);}
}//返回的集合就是按照香蕉、苹果、葡萄的顺序return resultList;
List集合自定义排序!相关推荐
- 使用Comparable、Comparator接口实现对对象数组、List集合自定义排序
1.实现对象数组排序 (1)方法一,需要排序的对象所属的类实现Comparable接口,复写 comparaTo方法 (2)方法二,需要排序的对象所属的类已经完成无法实现Comparable接口,这 ...
- java list集合自定义排序_Java 通过 Comparator comparing 对 list 自定义 排序
摘要: 在日常开发中,经常会用到排序算法,这里记录下日常使用比较多的排序方法,其中包括按指定指定:正序.倒序排序,还有按自定义字段排序的方法,方便日后查看: 一:按指定字段排序,默认倒序,如下写法: ...
- .NET/C#中对自定义对象集合进行自定义排序的方法
一个集合可否排序,要看系统知不知道排序的规则,像内建的系统类型,int ,string,short,decimal这些,系统知道怎么排序,而如果一个集合里面放置的是自定义类型,比如自己定义了一个Car ...
- Collections.sort()泛型集合排序的使用,和自定义类实现Comparable<T>接口重写compareTo(T o)方法完成Collections.sort()排序,以及自定义排序规则
Collections算法类 1.Collections类是Java提供的一个集合操作工具类. 2.Collections类定义了一系列用于操作集合的静态方法,用于实现对集合元素的排序 ...
- JAVA集合四:比较器--类自定义排序
参考链接: HOW2J.CN 前言 对于JAVA集合,都能够用集合的工具类Collections 提供的方法: Collections.sort(List list) Collections.sort ...
- 创建自定义排序用户界面
简介 显示大量已经按类别(不是很多)排序的数据但没有类别分界线,用户很难找到所需要的类别.例如,数据库中只有9个类别(8个不同的类别和1个null),共81种产品.现在用一个GridView列出所有产 ...
- JAVA SE学习day_12:集合的排序、队列、栈结构
一.集合的排序 1.1 集合的排序 集合的工具类java.util.Collections提供了一个静态方法sort,可以对List集合 进行自然排序,即:从小到大 除了自然排序之外还有反转.乱序方法 ...
- Java比较同一map是否相同_Java 中HashTable、HashMap、TreeMap三者区别,以及自定义对象是否相同比较,自定义排序等...
/* Map集合:该集合存储键值对.一对一对往里存.而且要保证键的唯一性. Map |--Hashtable:底层是哈希表数据结构,不可以存入null键null值.该集合是线程同步的.效率低.基本已废 ...
- Collections.sort()自定义排序方式
Java中Collections.sort()的使用! 在日常开发中,很多时候都需要对一些数据进行排序的操作.然而那些数据一般都是放在一个集合中如:Map ,Set ,List 等集合中.他们都提共了 ...
最新文章
- 软考-信息系统项目管理师-量化的项目管理
- 应用程序正常初始化(0xc0000135)失败的解决方法
- java linux root权限管理_新的 Linux sudo 漏洞使本地用户获得 root 权限
- java 函数式编程 示例_功能Java示例 第1部分–从命令式到声明式
- C语言 #运算符 - C语言零基础入门教程
- cesium 3dtiles 加载本地数据_深入echarts学习:加载跨域、异步、本地json数据的防坑录
- 2018CES智能硬件与新技术盘点
- linux中until循环的特点,Bash 中的 until 循环详解
- Mysql问题 ERROR 1054 (42S22): Unknown column ‘password‘ in ‘field list‘
- ExtFrame的特点与缺点
- python全栈薪资这么高,你知道大厂面试都问什么吗?
- 西南科技大学oj题逆置顺序表
- 数学图形之双曲抛物面
- 银行IT系统整体架构
- Datawhale组队学习周报(第039周)
- 给大家分享几款浪漫的唯美APP
- 你是自己的太阳,无需借别人的光(持续更新)
- 数据结构面试题(含答案)
- Python【pymysql】
- 记第一次实习面试经历(字节跳动)
热门文章
- GO 语言 Web 开发实战一
- 大数据技术原理与应用实验五
- mysql脚本文件生成工具_SqlDataToScript(sql脚本生成工具)
- html 用户输入成绩,程序输出相应的成绩等级
- 上海市计算机学会月赛 2022年9月月赛丙组
- 常熟理工php实验三_常熟理工学院新闻网
- 【CocosBuilder 开发系列之一】cocos2dx使用CocosBuilder完成骨骼动画
- 【编译原理核心知识点总结】第三章、正则文法、NFA、DFA
- java毕设项目购物网站设计(附源码)
- android四大组件在哪层,Android四大组件framework层