`

HashMap HashTable TreeMap

    博客分类:
  • JAVA
阅读更多
Map中我们通过对象来对对象进行索引,用来索引的对象叫做key,其对应的对象叫做value

HashMap通过hashcode对其内容进行快速查找,而TreeMap中所有的元素都保持着某种固定的顺序,如果你需要得到一个有序的结果你就应该使用TreeMap(HashMap中元素的排列顺序是不固定的)。

1.AbstractMap抽象类和SortedMap接口

AbstractMap抽象类:覆盖了equals()和hashCode()方法以确保两个相等映射返回相同的哈希码。如果两个映射大小相等、包含同样的键且每个键在这两个映射中对应的值都相同,则这两个映射相等。映射的哈希码是映射元素哈希码的总和,其中每个元素是Map.Entry接口的一个实现。因此,不论映射内部顺序如何,两个相等映射会报告相同的哈希码。

SortedMap接口:它用来保持键的有序顺序。SortedMap接口为映像的视图(子集),包括两个端点提供了访问方法。除了排序是作用于映射的键以外,处理SortedMap和处理SortedSet一样。添加到SortedMap实现类的元素必须实现Comparable接口,否则您必须给它的构造函数提供一个Comparator接口的实现。TreeMap类是它的唯一一份实现。
分享到:
评论

相关推荐

    java中HashMap,LinkedHashMap,TreeMap,HashTable的区别

    ### Java中HashMap, LinkedHashMap, TreeMap,HashTable的区别 在Java编程语言中,`Map`接口是集合框架中的一个重要组成部分,用于存储键值对。本文将详细分析四种常用的`Map`实现类:`HashMap`, `LinkedHashMap`, ...

    第9讲 对比Hashtable、HashMap、TreeMap有什么不同?1

    【HashMap、Hashtable、TreeMap详解】 HashMap、Hashtable和TreeMap都是Java中实现Map接口的类,它们用于存储键值对数据,但各自具有不同的特点和使用场景。 HashMap是最常用的Map实现,它通过哈希表(散列表)...

    HashMap,HashTable,LinkedHashMap,TreeMap的区别

    HashMap, HashTable, LinkedHashMap, TreeMap 的区别 在 Java 中,Map 是一个非常重要的集合类,用于存储键值对。其中,HashMap, HashTable, LinkedHashMap, TreeMap 是四种常用的 Map 实现类,每种类都有其特点和...

    java HashMap,TreeMap与LinkedHashMap的详解

    在示例中,`HashMap`、`Hashtable`和`TreeMap`的使用方式类似,但它们的行为不同。`Hashtable`与`HashMap`类似,但它是线程安全的,并且不接受null值。而`TreeMap`则根据键的自然顺序对键值对进行了排序。 ```java ...

    Java集合专题总结:HashMap 和 HashTable 源码学习和面试总结

    Map接口用于保存具有key-value映射关系的数据,常见的Map实现包括HashMap、TreeMap、HashTable和LinkedHashMap等。Queue是Java提供的队列实现。 本文总结了HashMap和HashTable的源码学习和面试总结,涵盖了它们的...

    HashMap vs TreeMap vs Hashtable vs LinkedHashMap

    HashMap是最常用的Map实现,它提供了快速的查找,但不保证元素的顺序,且允许null键和值。TreeMap则按Key的自然排序或自定义排序存储元素,适合需要排序的场景。HashTable是线程安全的,但效率相对较低,不推荐在单...

    【后端】java基础(4.4)java中级基础之集合——Map

    Hashtable TreeMap LinkedHashMap 我们主要来说说最常用的HashMap: 添加元素:put(key,value) HashMap map = new HashMap<>(); map.put("name", "大妖怪"); map.put("age", "100"); 复制代码 查询元素:get(key...

    HashMap底层原理.pdf

    HashMap是Java中非常常见的一种数据结构,主要用于存储键值对,其核心原理是通过哈希算法将键映射到数组中的位置来实现快速访问。本文将详细介绍HashMap的底层原理,包括其内部实现结构、关键字段的作用、以及JDK ...

    JAVA中HashMap的用法.docx

    在示例代码中,我们创建了三个Map实例:HashMap、Hashtable和TreeMap。HashMap展示了无序的特性,而TreeMap则按顺序打印键值对。Hashtable是HashMap的线程安全版本,但在Java 5之后,推荐使用并发集合如...

    集合框架包含collection和map的子类

    集合框架包含collection和map的子类。其中collection包含list、set和queue。map包括hashmap、hashtable和treemap

    HashMap资料.zip

    9. **HashMap与HashTable的区别**:HashTable是早期的线程安全版本,但它不允许null键和值,且性能较低,已经被ConcurrentHashMap所取代。 10. **面试常见问题**:面试中常问的问题包括HashMap的扩容机制、哈希冲突...

    Java 72 道面试题及答案.docx

    3. Map(映射):键值对集合,键无序、唯一,值可重复,实现类有HashMap、TreeMap、HashTable等。 集合框架的优点: 1. 容量自增长。 2. 提供高性能的数据结构和算法。 3. 可以方便地扩展或改写集合,提高代码复用...

    java 面经 java 面经 java 面经

    LinkedList的区别,主要答存储结构,增删改查效率Set会问到hashSet treeSet,以及Set和map的区别,list和set的区别Map会问到HashMap,TreeMap,HashTable的区别HashMap会问到底层数据结构,以及解决hash碰撞的方法...

    java编程基础笔记(集合)

    Map接口用于存储键值对,HashMap、TreeMap和Hashtable是最常用的实现。HashMap提供了高效的查找性能,通过哈希表存储键值对,但不保证键的顺序。TreeMap按键的自然顺序或自定义比较器进行排序,而Hashtable是古老的...

    最新Java程序员面试题

    5. Map:存储键值对的接口,如HashMap、TreeMap和LinkedHashMap。 6. SortedMap:继承自Map,键按特定顺序排列,如TreeMap。 Iterator是遍历集合的基本工具,可以用于所有实现Collection接口的类。它提供next()方法...

    HashMapvs.TreeMapvs.Hashtable

    在Java编程语言中,`HashMap`、`TreeMap`和`Hashtable`是三种常见的集合类,它们都实现了`Map`接口,用于存储键值对数据。理解这些类的区别和应用场景对于提升Java开发技能至关重要。 首先,`HashMap`是Java中最...

    Hashtable的使用

    - **不允许`null`键和`null`值**:与`HashMap`不同,`Hashtable`不允许插入`null`键或`null`值。如果你尝试这样做,会抛出`NullPointerException`。 - **非有序性**:`Hashtable`中的元素顺序并不是按照插入的顺序...

Global site tag (gtag.js) - Google Analytics