`

对Map进行排序

    博客分类:
  • java
 
阅读更多

HashMap是无序的

TreeMap 是按key升序的 不能按value排序

LinkedHashMap 放进去的是什么顺序就是什么顺序

 

代码如下:

public class Test {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		Map<String,Integer> map = new HashMap<String, Integer>();
		map.put("zhangsan", 18);
		map.put("lisi", 17);
		map.put("wangwu", 30);
		map.put("maliu", 25);
		map.put("subi", 26);
		
		
		Set<Entry<String,Integer>> set = map.entrySet();
		List<Entry<String,Integer>> list = new ArrayList(set);
		Collections.sort(list, new Comparator<Entry<String,Integer>>() {
			@Override
			public int compare(Entry<String, Integer> o1,
					Entry<String, Integer> o2) {
//				if (o1.getValue() < o2.getValue()) {
//					return -1;
//				} else if (o1.getValue() > o2.getValue()) {
//					return 1;
//				} else {
//					return 0;
//				}
				return o1.getValue().compareTo(o2.getValue());
			}
		});
		
		map.clear();
		map = new LinkedHashMap<String, Integer>();
		for(Entry<String,Integer> entry: list){
			map.put(entry.getKey(), entry.getValue());
		}
		
		for(Entry<String,Integer> entry: map.entrySet()){
			System.err.println(entry.getKey() + "=" + entry.getValue());
		}
	}

}
 

 

分享到:
评论

相关推荐

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

    二、Map排序 1. 使用TreeMap进行排序:TreeMap默认按key的自然顺序排序,如果需要自定义排序,可以通过传入自定义的Comparator实现。例如: ```java Map, String&gt; map = new TreeMap(new Comparator() { public ...

    java实现的map排序

    Java中实现Map排序的方式主要有两种,一种是使用TreeMap,另一种是使用SortedMap接口。HashMap内部元素是无序的,它不会...理解了上述内容后,即使存在个别字词识别问题,也不影响对Java中Map排序方法的理解和应用。

    Java 对象属性map排序示例

    在Java编程中,Map接口是数据结构之一,用于存储键值对。...对于对象属性Map的排序,需要先对Map进行排序,然后可能还要对对象列表进行排序。通过理解这些概念,开发者能够灵活地控制Java程序中数据的排序逻辑。

    对Map的key和value进行排序

    对Map的key和value进行排序 对Map的key和value进行排序是Java编程中非常重要的一部分。Map是Java集合框架中的一种数据结构,用于存储键值对。然而,在实际应用中,我们经常需要对Map中的key或value进行排序,以满足...

    Java Map 按值排序

    我们可以使用map的entrySet()方法获取所有键值对,然后通过sorted()方法进行排序,最后用collect()方法将结果转换回Map: ```java Map, Integer&gt; map = new HashMap(); // 添加元素... Map, Integer&gt; sortedByValue...

    对于java map类排序

    然而,有时候我们可能需要对Map按照键(key)或者值(value)进行排序。这里,我们讨论的是“对于Java Map类排序”,特别是通过键进行排序。 在给定的代码中,有一个名为`mapSortByKey`的方法,该方法接收一个未...

    java8-如何使用Stream API对Map类型元素排序.pdf

    本文将深入讲解如何使用Stream API对Map进行排序,包括按键排序、按值排序以及使用`merge()`函数处理键值冲突。 首先,让我们了解一下Java 8 Stream的基本概念。Stream API允许我们对集合进行一系列操作,如过滤、...

    对map里面的value进行排序

    而“工具”标签可能意味着博主还介绍了某些可以帮助处理Map排序的第三方库或实用工具。 在1.txt文件中,如果包含的是上述知识点的示例代码或进一步的解释,读者可以通过阅读文件内容来加深理解。总的来说,理解和...

    Map排序

    标题中的“Map排序”指的是在Java编程中对Map集合进行排序的操作。Map接口在Java中是一种非常重要的数据结构,它存储键值对(key-value pairs),其中键是唯一的。默认情况下,Map并不保证其元素的顺序,但有些场景下...

    Java Map按键排序和按值排序

    Map是一种键值对的集合,它可以按照键或值进行排序。下面,我们将详细地介绍Java Map的按键排序和按值排序。 按键排序(sort by key) Java中的TreeMap,V&gt;类可以实现Map的按键排序。TreeMap,V&gt;是一个基于红黑树的...

    Map参数按ASCII码排序

    将map按ASCII码排序,适用于将请求头的参数转为map,map内可再含有map,递归排序,无遗漏。运行demo里main方法即可进行验证。

    对Map按key和value分别排序

    "对 Map 按 key 和 value 分别排序" 摘要:本文主要介绍了 Map 按 key 和 value 分别排序的方法,包括使用 TreeMap 的 key 排序和 value 排序两种方式。 Map 按 key 排序 Map 是键值对的集合接口,它的实现类主要...

    C++98 STL的map 如何避免自动排序.md

    C++11中有无序map即: unordered_map 可以不自动排序, 那么C++98中只有map 如何避免自动排序。

    map排序.go

    map排序

    Java Map的排序实例详解

    然而,在某些情况下,我们需要对Map中的键值对进行排序,以满足特定的业务需求。例如,在排行榜应用中,我们需要对成绩进行排序,以显示前几名的成绩。那么,如何对Java Map进行排序呢?这篇文章将详细介绍Java Map...

    java Map转Bean Bean转Map Map排序

    java Map转Bean Bean转Map Map排序

    如何利用Java8 Stream API对Map按键或值排序

    在介绍Map排序之前,了解`merge()`函数很有帮助。`merge()`用于处理键值对插入时的键冲突问题。当插入的键已经存在于Map中时,`merge()`会使用提供的合并函数来决定新值。例如,我们可以使用lambda表达式 `(oldVal, ...

    Java Map 按照Value排序的实现方法

    当我们需要按照Value(值)对Map进行排序时,通常会采用特定的方法。以下是关于Java Map按照Value排序的实现方法的详细说明: 1. **HashMap**: - HashMap是基于哈希表实现的,它不保证元素的顺序,插入顺序和遍历...

    java中Map集合的排序方法

    Map中元素存放是无序的 HashMap注意事项: 1,HashMap底层维护一个数组,我们向HashMap中所放置的对象实际上是存储在该数组当中; 2,当向HashMap中put一对键值时,它会根据key的hashCode值计算出一个位置,该位置...

    java代码-使用java解决list(Map)排序的问题源代码

    java代码-使用java解决list(Map)排序的问题源代码 ——学习参考资料:仅用于个人学习使用!

Global site tag (gtag.js) - Google Analytics