废话不多说,看代码:
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.TreeMap;
public class Test {
public static void main(String[] args) {
Map tree = new TreeMap();
Map linked = new LinkedHashMap();
Map hash = new HashMap();
System.out.println("tree :"+buildMap(tree));
System.out.println("link :"+buildMap(linked));
System.out.println("hash :"+buildMap(hash));
}
private static Map buildMap(Map map){
map.put("0", "a");
map.put("e", "b");
map.put("4", "s");
map.put("3", "c");
return map;
}
}
输出结果:
tree :{0=a, 3=c, 4=s, e=b}
link :{0=a, e=b, 4=s, 3=c}
hash :{3=c, 0=a, 4=s, e=b}
由此可见:
HashMap是按照HashCode 排序,莫名其妙的顺序。
TreeMap是按照自身的顺序排序,比如数字的话,按照数字升序,ascII等。
LinkedHashMap是按照先进先出的顺序。
分享到:
相关推荐
Java 中的 Map、HashMap、TreeMap 使用详解 Map 是 Java 集合框架中的一个接口,用于存储键值对,根据键可以获取值。Map 中的键不允许重复,但值可以重复。在 Java 中,HashMap、LinkedHashMap、TreeMap 都实现了 ...
在Java编程中,Map接口是用于存储键值对的数据结构,而Java提供了多种Map的实现,包括TreeMap、HashMap和ConcurrentSkipListMap。本文主要比较了这三种Map的性能,尤其是在插入和查找操作上的效率。 1. **TreeMap**...
HashMap和TreeMap是Java中两种常用的Map实现,它们各自具有不同的特性和使用场景。 HashMap是基于哈希表实现的,其核心思想是通过键对象的hashCode()方法来快速定位到对应的桶(bucket),从而提高查找效率。...
本文将详细分析四种常用的`Map`实现类:`HashMap`, `LinkedHashMap`, `TreeMap`以及`HashTable`之间的区别。 #### 1. HashMap `HashMap`是一种基于哈希表实现的`Map`接口,提供了一个非同步的、允许使用`null`键和...
`TreeMap`是基于红黑树(Red-Black tree)实现的Sorted Map(排序映射)。它实现了`Map`接口,并且提供了一些额外的方法,如`firstKey()`和`lastKey()`,用于获取键集中的最小和最大元素。`TreeMap`的键必须是可比较...
### HashMap排序方法详解 在Java开发中,`HashMap`是一种非常常见的数据结构,它通过键值对的形式存储数据。然而,由于`HashMap`是基于哈希表实现的,所以它并不能保证元素的顺序。这就意味着如果需要按照某种特定...
在 Java 中,HashMap 和 TreeMap 都是常用的 Map 实现类,但是在实际开发中,选择哪种 Map 实现类往往让人感到迷茫。下面我们将详细介绍 HashMap 和 TreeMap 的特点、优缺点和使用场景,帮助您更好地选择合适的 Map ...
- 如果对HashMap进行大量的排序操作,考虑使用TreeMap,它默认按照key的自然顺序排序,也可以自定义Comparator。 **5. 结论** HashMap排序并不是HashMap本身的功能,而是通过其他手段实现的。根据实际需求,可以...
在Java编程语言中,`HashMap`、`TreeMap`和`LinkedHashMap`都是`java.util.Map`接口的实现,它们提供了不同的数据存储和访问策略。本文将深入探讨这三种数据结构的特点、工作原理以及适用场景。 1. **HashMap** `...
TreeMap默认按照键的自然顺序排序,也可以通过Comparator自定义排序规则。由于其有序性,TreeMap适合需要按特定顺序遍历或查询元素的场景,如排序输出或范围查询。 在面试中,HashMap的设计和实现细节是常见的考察...
其中,HashMap, HashTable, LinkedHashMap, TreeMap 是四种常用的 Map 实现类,每种类都有其特点和用途。本文将对这四种 Map 实现类进行比较和分析。 HashMap HashMap 是 Java 中最常用的 Map 实现类,它根据键的 ...
1. 使用TreeMap:TreeMap是一个有序的Map实现,它基于红黑树数据结构,可以按照键或自定义比较器对元素进行排序。如果你需要对值进行排序,可以创建一个基于Value的Comparator,然后用这个Comparator构建一个新的...
总结来说,Java中对Map进行排序通常涉及到HashMap与TreeMap的选择,以及Comparator的使用。对于对象属性Map的排序,需要先对Map进行排序,然后可能还要对对象列表进行排序。通过理解这些概念,开发者能够灵活地控制...
Java中实现Map排序的方式主要有两种,一种是使用TreeMap,另一种是使用SortedMap接口。HashMap内部元素是无序的,它不会记录插入顺序,也不保证顺序。如果需要有序的Map,可以使用TreeMap,它会根据键的自然顺序进行...
Map 是键值对的集合接口,它的实现类主要包括 HashMap、TreeMap、Hashtable 及 LinkedHashMap 等。其中,TreeMap 是基于红黑树(Red-Black tree)的 NavigableMap 实现,该映射根据其键的自然顺序进行排序,或者根据...
HashMap是最常用的Map实现,它提供了快速的查找,但不保证元素的顺序,且允许null键和值。TreeMap则按Key的自然排序或自定义排序存储元素,适合需要排序的场景。HashTable是线程安全的,但效率相对较低,不推荐在单...
2. TreeMap排序: TreeMap则在创建时就会根据键的自然顺序或自定义Comparator进行排序。 ```java Map, Integer> sortedMap = new TreeMap(new Comparator() { @Override public int compare(String s1, String s2...
在Java编程语言中,Map接口提供了键值对的存储方式,但默认情况下,Map并不会按照特定的顺序来存储或返回元素。然而,在某些场景下,我们可能需要将Map中的元素按照值(value)进行排序。本文将详细介绍如何在Java中...
HashMap TreeMap HashMap 1.所属包 java.utrl 2.继承关系 AbstractMap,V> ,接口Serializable,Coneable Map,v> 3.构造方法 HashMap()构造一个空的,默认初始容量(16) 和默认负载系数(0.75) HashMap(int ...
然而,Map默认不保证元素的顺序,如果需要按照特定规则进行排序,我们需要用到特定类型的Map或者手动排序。本文将深入探讨Java Map集合的排序方法。 一、TreeMap:自动排序 1. **TreeMap** 是一个基于红黑树实现的...