`
08284008
  • 浏览: 51441 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

map集合排序

map 
阅读更多

主要参考jdk的:

java.util
类 Collections

java.lang.Object
  继承者 java.util.Collections
public static <T> void sort(List<T> list,
                            Comparator<? super T> c)
根据指定比较器产生的顺序对指定列表进行排序。此列表内的所有元素都必须可使用指定比较器相互比较(也就是说,对于列表中的任意 e1e2 元素,c.compare(e1, e2) 不得抛出 ClassCastException)。

此排序被保证是稳定的:不会因调用 sort 而对相等的元素进行重新排序。

排序算法是一个经过修改的合并排序算法(其中,如果低子列表中的最高元素小于高子列表中的最低元素,则忽略合并)。此算法提供可保证的 n log(n) 性能。 指定列表必须是可修改的,但不必是可大小调整的。此实现将指定列表转储到一个数组中,并对数组进行排序,在重置数组中相应位置每个元素的列表上进行迭代。这避免了由于试图原地对链接列表进行排序而产生的 n2 log(n) 性能。

 

参数:
list - 要排序的列表。
c - 确定列表顺序的比较器。null 值指示应该使用元素的自然顺序
抛出:
ClassCastException - 如果列表中包含不可使用指定比较器相互比较 的元素。
UnsupportedOperationException - 如果指定列表的列表迭代器不支持 set 操作。

指定排序规则对象

import java.util.Comparator;
import java.util.Map;

public class CompareSort implements Comparator<Object> {

	@Override
	public int compare(Object o1, Object o2) {
		Map.Entry map1=(Map.Entry)o1;
		Map.Entry map2=(Map.Entry)o2;
		System.out.println(map1.getKey().toString().compareTo(map2.getKey().toString()));
		return map1.getKey().toString().compareTo(map2.getKey().toString());
		
	}
}

 

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class MapSort {

	public static void main(String[] args) {
		Map<String, String> map=new HashMap<String, String>();
		map.put("1", "qw");
		map.put("a", "sdf");
		map.put("r", "qw");
		map.put("g", "sdf");
		map.put("b", "qw");
		map.put("j", "sdf");
		System.out.println(map);
		//先将map转换为List类型
		List list=new ArrayList(map.entrySet());
		//然后再对list进行排序处理
		Collections.sort(list, new CompareSort());
		System.out.println(list);
	}
}

 

0
1
分享到:
评论

相关推荐

    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值计算出一个位置,该位置...

    Map集合笔记

    ### Map集合概述与特点 #### 一、Map集合的特点及概念 Map集合是Java集合框架中的重要组成部分之一,主要用于存储键值对(key-value pairs)。它与Collection接口不同,Collection接口用于存储单个对象,而Map接口...

    map集合以及IO流

    本文将深入探讨`Map`集合的特性和遍历方式,以及`Set`特性的排序,并介绍如何使用`IO流`,特别是字节流和字符流。 首先,我们来了解`Map`集合的基本概念。`Map`接口是Java集合框架的一部分,它不直接继承自`...

    Java Map按键排序和按值排序

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

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

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

    Java Map 集合类简介

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

    对Map的key和value进行排序

    Map是Java集合框架中的一种数据结构,用于存储键值对。然而,在实际应用中,我们经常需要对Map中的key或value进行排序,以满足特定的业务需求。 对Map中的key进行排序 对Map中的key进行排序可以使用TreeMap来实现...

    java中map集合的用法

    Map集合不同于List,因为它不维护元素的顺序,而是通过键来访问其对应的值。本文将详细介绍Java中Map集合的用法。 **1. Map接口概述** Map接口位于`java.util`包下,它定义了一些基本的操作方法,如put、get、...

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

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

    Java Map 按值排序

    然而,在某些场景下,我们可能需要将Map中的元素按照值(value)进行排序。本文将详细介绍如何在Java中实现Map按值排序的几种方法。 1. 使用TreeMap TreeMap是Java中实现Map接口的一个类,它内部使用红黑树数据结构...

    Activity 间intent传递有序排序的map集合

    在这个场景中,我们关注的是如何在Activity之间通过Intent传递一个有序且可排序的Map集合。理解这个知识点对于优化应用的数据传输流程至关重要。 首先,Map接口在Java中提供了若干实现类,如HashMap、LinkedHashMap...

    List&lt;map&gt;多字段组合排序

    List&lt;map&gt;,List&lt;Map, Object&gt;&gt;,多字段组合排序。提供一个简易的思路,如果需要进行参考。

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

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

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

    Java中的Map接口是用于存储键值对的数据结构,它提供了多种实现类,每种实现类有不同的特性和排序规则。在Java中,Map的排序通常分为两种情况:一种是基于Map本身实现类的特性进行排序,如TreeMap;另一种是通过...

    重要知识java中map集合的用法.pdf

    每种实现类都有其特点和优点,例如 `HashMap` 是最常用的 Map 实现类,`TreeMap` 是一种排序的 Map 实现类等。 Map 接口和方法 Map 接口定义了四种类型的方法,包括 `equals()`、`hashCode()`、`put()`、`remove()...

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

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

    java中map集合的用法.pdf

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

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

    ### Java集合排序及java集合类详解(Collection、List、Map、Set) #### 集合框架概述 ##### 容器简介 在Java编程中,容器(Container)是指用来存储和管理对象的一种数据结构。随着应用程序复杂度的增加,简单地...

    Map集合的继承关系图.pdf

    Map集合是一个非常重要的部分,它是以键值对(key-value pairs)的形式存储数据的接口。Map接口在java.util包中,并且提供了将键映射到值的对象。这些键不能重复,每个键最多映射到一个值。Map集合不是Collection的...

Global site tag (gtag.js) - Google Analytics