`

java Map集合的排序

 
阅读更多
主要map 先排序key后排序值
public static void main(String[] args) {
		
		/**
		 * 建的排序
		 */
		Map<String, String> map = new TreeMap<String,String>();
        map.put("11", "aa");
        map.put("22", "bb");
        map.put("99", "cc");
        map.put("44", "dd");
        map.put("55", "ee");
        map.put("66", "ff");
       
        for (Entry<String, String> entry : map.entrySet()){
            System.out.println("key=" + entry.getKey() +"; value : " + entry.getValue());
        }
        
        
        //Map集合的排序
        Map<String, Integer> valueCompare = new TreeMap<String, Integer>(new Comparator<String>() {//可以在这里设置key的排序需求
			@Override
			public int compare(String o1, String o2) {
				int com = o1.compareTo(o2);
				return com;
			}
        	
		});
		valueCompare.put("e", 9); 
		valueCompare.put("b", 3); 
		valueCompare.put("a", 10); 
		valueCompare.put("d", 9); 
		

		List<Map.Entry<String, Integer>> infoIds = new ArrayList<Map.Entry<String, Integer>>(valueCompare.entrySet());
		System.out.println("-------------排序前--------------");
		for (int i = 0; i < infoIds.size(); i++) {
			String id = infoIds.get(i).toString();
			System.out.println(id);
		}
		
		// 根据自己的需求排序
		Collections.sort(infoIds, new Comparator<Map.Entry<String, Integer>>() {//
			public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
				return ( o1.getValue()-o2.getValue());
			}
		});
		
		System.out.println("--------------排序后--------------");
		for (int i = 0; i < infoIds.size(); i++) {
			Entry<String,Integer> ent=infoIds.get(i);
			System.out.println(ent.getKey()+"="+ent.getValue());
		}
	}

参考:2
   public static void main(String[] args) {
		Map<String, Integer> map = new HashMap<String, Integer>();

		map.put("lisi", 5); 
		map.put("lisi1", 1); 
		map.put("lisi2", 3); 
		map.put("lisi3", 9); 

		List<Map.Entry<String, Integer>> infoIds = new   ArrayList<Map.Entry<String, Integer>>(map.entrySet());
		System.out.println("--------------排序前--------------");
		for (int i = 0; i < infoIds.size(); i++) {
			String id = infoIds.get(i).toString();
			System.out.println(id);
		}
		// 排序
		Collections.sort(infoIds, new Comparator<Map.Entry<String,        Integer>>() {
			public int compare(Map.Entry<String, Integer> o1,
					Map.Entry<String, Integer> o2) {
				return ( o1.getValue()-o2.getValue());
			}
		});

		System.out.println("--------------排序后--------------");
		for (int i = 0; i < infoIds.size(); i++) {
			Entry<String,Integer> ent=infoIds.get(i);
			System.out.println(ent.getKey()+"="+ent.getValue());
		}		
	}

分享到:
评论

相关推荐

    java map 集合 排序

    本文将深入探讨Java Map集合的排序方法。 一、TreeMap:自动排序 1. **TreeMap** 是一个基于红黑树实现的Map,它会自动根据键的自然顺序或自定义比较器进行排序。例如: ```java import java.util.TreeMap; ...

    java中Map集合的排序方法

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

    Java Map按键排序和按值排序

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

    Java Map 集合类简介

    【Java Map 集合类简介】 在Java的`java.util`包中,集合类扮演着重要的角色,其中List和Map是最为常见的两种。List的实现例如ArrayList和Vector,它们都是可变大小的列表,适合存储和操作各种类型对象的序列。特别...

    Java 集合排序及java 集合类详解

    Java 集合排序及java 集合类详解 Java 集合排序及java 集合类详解,Java里面最重要、最常用也就是集合那部分了,能够用好集合和理解好集合对于做Java程序的开发拥有无比的好处。本教程详细解释了关于Java中的集合是...

    Java集合排序及java集合类详解

    在Java集合排序方面,我们主要关注List和Map。对于List,可以使用Collections.sort()方法进行排序,这个方法默认使用元素的自然顺序,如果元素是自定义对象,需要实现Comparable接口或者提供Comparator。对于Map,...

    Java集合排序及java集合类详解.pdf

    ### Java集合排序及Java集合类详解 #### 一、集合框架概述 集合框架是Java编程语言的核心组件之一,用于组织和操作数据集。Java集合框架提供了多种数据结构,包括列表(List)、集(Set)和映射(Map),这些数据结构...

    Java集合排序及java集合类详解(Collection、List、Map、Set).doc

    Java集合排序及java集合类详解(Collection、List、Map、Set).doc

    java 集合分组与排序

    下面我们将深入探讨如何在Java中实现集合的分组与排序。 1. **集合分组**: 集合分组通常涉及到`GroupingBy`操作,这在Java 8引入的流(Stream)API中得到了很好的支持。`Collectors.groupingBy`方法允许我们将...

    Java Map 按值排序

    本文将详细介绍如何在Java中实现Map按值排序的几种方法。 1. 使用TreeMap TreeMap是Java中实现Map接口的一个类,它内部使用红黑树数据结构,可以按照键或值自然排序。如果我们要根据值排序,可以在创建TreeMap时...

    java中map集合的用法

    本文将详细介绍Java中Map集合的用法。 **1. Map接口概述** Map接口位于`java.util`包下,它定义了一些基本的操作方法,如put、get、remove等。Map集合中常用的实现类有HashMap、TreeMap、LinkedHashMap等,它们各自...

    java中集合排序

    本文将深入探讨Java中集合排序的相关知识点,包括基本概念、排序方法以及常用类的实现。 1. **集合接口与实现** Java集合框架主要包括`List`, `Set`, 和 `Map`三大接口。其中,`List`接口要求元素有序,允许重复;...

    java集合MAP三种遍历

    本文将详细介绍Java中Map集合的三种遍历方法及其应用场景、优缺点等,帮助读者更好地理解和掌握Map的使用技巧。 ### 一、Map简介 `Map`接口是Java集合框架的一部分,它提供了基于键值对的数据存储方式。常见的实现...

    java中map集合的用法.pdf

    在Java编程语言中,Map接口是集合框架的重要组成部分,它提供了键值对(Key-Value)的数据存储方式。Map不是列表或数组,它允许通过键来查找和操作对应的值。本篇文章将详细介绍Map的基本用法和关键特性。 1. **...

    Java集合排序及java集合类详解(Collection、List、Map、Set)讲解.pdf

    Java集合排序及java集合类详解(Collection、List、Map、Set)讲解 Java集合框架是Java语言中最重要的组件之一,能够正确使用Java集合框架对于Java程序的开发具有无比的好处。本文将详细解释Java集合框架的实现原理、...

    java map实例,排序

    在Java编程语言中,Map接口是集合框架的重要组成部分,它提供了键值对的存储功能。在Java中,Map有多种实现类,每种实现类有不同的特性和用途。本篇文章将详细探讨`HashMap`, `LinkedHashMap`, `TreeMap`, 和 `...

Global site tag (gtag.js) - Google Analytics