Java 实现Map集合排序功能

Java程序设计练习题7集合与泛型 判断题 R1-1 在JAVA的集合框架中,Map接口是自Collection接口继承而来。 T F 单选题 R2-1 分数2 Which statement is true for the class java.util.ArrayList? A. The elements in the collection are guaranteed to be unique. B. The collection is guaranteed to be immutable. C. T. 阅读详情

第一步:Map中新增sort临时键

// 初始化Map集合
List<Map<String, String>> columns = new ArrayList<Map<String, String>>();
Map<String, String> c1 = new HashMap<String,String>();
c1.put("sort", "8");
c1.put("title", "www.chuweibiao.com");
columns.add(c1);
Map<String, String> c2 = new HashMap<String,String>();
c2.put("sort", "5");
c2.put("title", "www.chuweibiao.com");
columns.add(c2);
Map<String, String> c3 = new HashMap<String,String>();
c3.put("sort", "13");
c3.put("title", "www.chuweibiao.com");
columns.add(c3);

第二步:进行排序

/**
 * Map类型元素集合排序
 * @param columns
 * 		Map类型元素集合
 */
private void listSortingForMapTypeElement(List<Map<String, Object>> columns) {
	Collections.sort(columns, new Comparator<Map<String, Object>>() {
		public int compare(Map<String, Object> last, Map<String, Object> next) {
			Object lastSort = last.get("sort");
			Object nextSort = next.get("sort");
			if (lastSort == null || nextSort == null) {
				return 0;
			} else {
				return Integer.parseInt(String.valueOf(lastSort)) 
						> Integer.parseInt(String.valueOf(nextSort)) ? 1 : 0;
			}
		}
	});
}

第三步:移除临时键

/**
 * 移除排序临时键
 * @param columns
 * 		Map类型元素集合
 */
private void removeSortKey(List<Map<String, Object>> columns) {
	for (Map<String, Object> column : columns) {
		column.remove("sort");
	}
}

谁有更好的办法请拍砖指教,O(∩_∩)O谢谢~
集合框架知识点梳理 一.层级关系 淡水湖泊 就阶段考机试都 就时间段聚少离多 老师得来的圣诞节道路上丹加洛克了了的等待闪电都是 啊 阅读详情

相关推荐

Java学习之学籍管理系统

1,我们先来讲讲什么是泛型化编程 package 学生管理系统; import java.util.ArrayList; import java.util.List; /* * 进行泛型化编程 * @autor:pcb * */ public class TestGeneric { //进行泛型化编程,规定类型。 public List <CourseClass> c...

爱科比的博客 4768

Java中Map的几种排序方式

比如根据多个字段或条件排序,可以自定义比较器(Comparator)// 自定义比较器来进行排序.stream()// 根据值降序排列,如果值相等,则按键升序排列= 0)?})));

qq_51976556的博客 1万+

Set结构的使用与实现

Set Set是继承自Collection的一个接口类; Set中只存储了key,并且要求key一定要唯一; Set的底层是使用Map来实现的,其使用key与Object的一个默认对象作为键值对插入到Map中的; 因为Set里面的key是不能够重复的,所以Set最大的功能就是对集合中的元素进行去重; 实现Set接口的常用类有TreeSet和HashSet,还有一个LinkedHashSet,LinkedHashSet是在HashSet的基础上维护了一个双向链表,用这个链表来记录元素的插入次序; Set中的

莫予笙的博客 1954

Map排序(Java)

Java中的Map排序问题 在Java编写程序的过程中,常常会碰到使用map(key,value)来记录数据的情况,有些时候我们需要根据实际需要来对map中的数据进行排序。以下就是个人总结的map排序的三种情况。 1. map中根据key值排序 Java中的TreeMap默认是根据key值从小到大排序,当然,在构造函数中可以重写Comparator的compare方法实现key值从大到小排序。 public static void sortByKey() { TreeMap<String

shuangmu_chenglin的博客 1万+

Map集合

目录一、map集合的增删改 二、遍历方式:三、常用实现类Hashmap四、泛型五、集合框架工具类 (1)增强for循环(2)映射方式 实现思路: * 1.做字符串切割,得到一个字符数组 * 2.遍历拿到单个字符 * 3.如果该字符没有出现过,即value值为null,那么该字符为key,值初始化为1 * 4.如果已经出现过则原来值加1用途:统计字符串各字母出现的次数 需求2:根据出现次数排序情况:使用泛型之前

qq_66924116的博客 469

java中集合类的使用场景和区别

java Collection 集合、Java List 、Java Map 、Java Map.Entry 、Java Set 的使用场景和区别

无极低码 657

Java如何对Map进行排序详解(map集合的使用)

一、简单介绍Map 在讲解Map排序之前,我们先来稍微了解下map。map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。其中这四者的区别如下(简单介绍): HashMap:我们最常用的Map,它根据key的HashCode 值来存储数据,根据key可以直接获取它的Value,同时它具有很快的访问速度。HashMap最多只允许一条记录的key值为Null(多条会覆盖);允许多条记录的Value为 Null。非同步的。

owen我的程序 8978

java常用集合之Set

目录Set集合的基础知识Set集合的实现类一.HashSet二.TreeSet 特点:1.无序性:set集合是无序的2.不重复:set集合是不可以重复的遍历方法:foreach,迭代器扩容: 初始容量16,负载因子0.75,扩容增量1倍Set和List一样属于接口,无法直接创建实例化对象,需要实现类来set接口。关系图HashSet实现Set接口,底层由HashMap来实现,为哈希表结构,新增元素相当于HashMap的key,value默认为一个固定的Object。当有元素插入的时候,会计算元素的hashC

weixin_64938628的博客 4406

java如何对Map进行排序

Map排序(按key排序,按value排序) 主要分两种,按键排序、按值排序。 而且,按key排序主要用于TreeMap,而按value排序则对于Map的子类们都适用。 一、按键排序 按Key排序主要用于TreeMap,可以实现按照Key值的大小,在对象插入时直接插入到合适的位置,保持Map的顺序性。 来看TreeMap的构造函数:TreeMap(Comparator<? super K> comparator):构造一个新的、空的树映射,该映射根据给定比较器进行排序。 这里的比较器是key的比

m0_51051154的博客 2万+

第12章 Java Map集合

1、 Map双列集合2、 集合类图3、Map概述。

我的E家 431

Java零基础入门-如何代码模拟斗地主洗牌发牌动作(下)?

如上就是完整的通过代码模拟斗地主的洗牌发牌到展示牌的这一系列动作,不知道你对于该模拟场景有何思考?对于里头的那一阶段遇到了问题或者有难度的,都可以评论区进行交流呀,不懂咱就问。

喵手的博客 1079

Map的有序和无序实现类,与Map的排序

Map的有序和无序实现类,与Map的排序 1.HashMap、Hashtable不是有序的; 2.TreeMap和LinkedHashMap是有序的(TreeMap默认 Key 升序,LinkedHashMap则记录了插入顺序)。 今天做统计时需要对X轴的地区按照地区代码(areaCode)进行排序,由于在构建XMLData使用的map来进行数据统计的,所以在统计过程中就需要对map进行排序。 一...

Rookie20190715的博客 4043

【Redis的基本数据结构有哪几种,平常用的多的有哪几种,zset的底层实现原理是什么】

【Redis的基本数据结构有哪几种,平常用的多的有哪几种,zset的底层实现原理是什么】

学无止境 337

java之Map接口于实现类

Map集合概述 Map父接口 特点:存储一堆数据(Key-Value),无序,无下标,键不可重复, 值可重复 方法: V put(K key,V value)//将对象存入到集合中,关联键值。key重复则覆盖原值 Object get(Object key)//根据键获取对应的值 Set //返回所有key Collection values()//返回包含所有值的Collection集合 Set<Map.Entry<K,V>> //键值匹配的Set集合 /**

xiaoxiaobaie的博客 906

Java集合05:Map接口

对集合中的Map接口进行了详细介绍,然后对其常用方法进行了详解,以及接口下的多个实现类的说明(HashMap、TreeMap、LinkedHashMap和 Properties等)

小贺想改变 794

【Java 集合】集合框架之 Map

先看来下 Map 大家族: 话外音:图中关系是 UML 类图表示。 实线箭头表示,继承,从一个非接口类继承。 虚线箭头表示,实现实现一个接口。 1.HashMap(数组+链表+红黑树) HashMap 根据键的 hashCode 值存储数据,大多数情况下可以直接定位它的值,因而具有很快的访问速度,但遍历顺序确实不确定的。 HashMap 最多只允许一条记录的键为 null,...

良月柒 716

java集合与数组小结

java集合与数组小结 一、ArrayList和LinkedList的区别 ArrayList(数组结构) LinkedList (链表结构) 优点 查询速度快 添加和删除的速度快 缺点 添加和删除的速度慢 查询速度慢(不适合查询操作) 二、数组Array和集合ArrayList的区别: 数组(Array) 集合 (ArrayList) 存储数据类型 相...

qq_42034152的博客 703

Java 集合框架:Java 中的 Set 集合(HashSet & LinkedHashSet & TreeSet)特点与实现解析

Set是java.util包下集合框架中一个接口,它是Collection接口的一个子接口,表示不允许包含重复元素的集合。Set 集合的特点是集合内的元素无序,且每个元素都是唯一的。这意味着即使试图添加两个相等的对象(依据.equals()方法判断相等),Set 集合只会保存一个对象。无序性:Set 集合中的元素不按任何特定顺序排列,无法通过索引访问元素,即集合内部的元素顺序可能随时间和操作发生变化;唯一性:Set 集合不允许包含重复的元素。判断元素是否重复的标准是基于元素的.equals()方法。

栗筝i的博客 8915
上一篇: Java 计算年平均增长率
下一篇: EasyUI DataGrid onBeforeRender 使用记录
码农先生
博客等级 码龄15年 52粉丝 40原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值