`
woshixushigang
  • 浏览: 578119 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

HashMap 与 TreeMap的区别

    博客分类:
  • j2ee
阅读更多

HashMap 与 TreeMap的区别 

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

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

集合框架”提供两种常规的Map实现:HashMap和TreeMap (TreeMap实现SortedMap接口)。在Map 中插入、删除和定位元素,HashMap 是最好的选择。但如果您要按自然顺序或自定义顺序遍历键,那么TreeMap会更好。使用HashMap要求添加的键类明确定义了hashCode()和equals()的实现。  这个TreeMap没有调优选项,因为该树总处于平衡状态。

2、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?hash code是什么意思

 hashcode是给一系列hash算法用的,比如hashtable。不同的对象应该有不同的hashcode,同一个对象应该有同样的hashcode

更正,不是同一个对象,而是相等的对象,应该有相同的hashcode

hash算法是什么啊,作用? hash算法基本就是为了将一个对象和一个整数对应起来,不同的对象对应不同的整数。
(x.equals(y) == true)那这个的话就是去比较它们所对应的整数?
不是。有一个equals()函数,和一个hashcode()函数

3、String a="abc";String b=new String("abc");String c="abc";

System.out.println(a==b);f
System.out.println(a==c);t
System.out.println(b==c);f
System.out.println(a.equals(b));
输出结果是什么?
为什么?

4、a=0;b=0;
if((a=3)>0|(b=3)>0){}
if((a=3)>0||(b=3)>0){}分别说出a,b的值

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lzb821/archive/2006/12/17/1446359.aspx

分享到:
评论

相关推荐

    Java中HashMap和TreeMap的区别深入理解

    与HashMap一样,TreeMap也是非线程安全的。它的构造方法包括无参构造、接受另一个Map作为初始数据的构造,以及接受比较器来指定排序规则的构造。TreeMap的操作,如插入、删除和查找,通常的时间复杂度为O(log n),这...

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

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

    Map,HashMap,TreeMap的使用

    Java 中的 Map、HashMap、TreeMap 使用详解 Map 是 Java 集合框架中的一个接口,用于存储键值对,根据键可以获取值。Map 中的键不允许重复,但值可以重复。在 Java 中,HashMap、LinkedHashMap、TreeMap 都实现了 ...

    在Java中如何决定使用 HashMap 还是 TreeMap

    Java 中的 HashMap 和 TreeMap 选择指南 在 Java 中,HashMap 和 TreeMap 都是常用的 Map 实现类,但是在实际开发中,选择哪种 Map 实现类往往让人感到迷茫。下面我们将详细介绍 HashMap 和 TreeMap 的特点、优缺点...

    java HashMap,TreeMap与LinkedHashMap的详解

    在Java编程语言中,`HashMap`、`TreeMap`和`LinkedHashMap`都是`java.util.Map`接口的实现,它们提供了不同的数据存储和访问策略。本文将深入探讨这三种数据结构的特点、工作原理以及适用场景。 1. **HashMap** `...

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

    Hashtable与HashMap类似,也是基于哈希表的,但它在Java早期版本中就已经存在,并且是线程安全的。由于同步机制的存在,Hashtable的性能相比HashMap较低,现在在多线程需求下,通常更推荐使用ConcurrentHashMap,它...

    Java里多个Map的性能比较(TreeMap、HashMap、ConcurrentSkipListMap)

    - **时间复杂度**:插入、查找和删除的平均时间复杂度同样为O(log n),与TreeMap相同,但常数项较小,空间效率较高。 - **特性**:ConcurrentSkipListMap支持并发操作,多个线程可以同时进行插入、删除和查找,...

    treemap treeset hashset hashmap 简要介绍

    与`TreeMap`类似,`TreeSet`也支持`headSet()`、`tailSet()`和`subSet()`等方法,用于返回集合的一部分。 ### HashSet `HashSet`是基于哈希表实现的Set(集合)实现,它不保证集合中元素的任何特定顺序。`HashSet`...

    HashMap,HashTable,LinkedHashMap,TreeMap的区别

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

    HashMap vs TreeMap vs Hashtable vs LinkedHashMap

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

    Java基础教程之Map集合深入讲解及其应用

    涵盖了Map接口的基本介绍,三种主要的实现类——HashMap、TreeMap、LinkedHashMap的具体实现方式及其特点。此外,文中还探讨了Map的各种基本操作方法(put、get、remove等)、遍历方式以及在使用时应注意的问题,...

    Java面试题总结

    HashMap与TreeMap区别 - **存储方式**:`HashMap`通过哈希码存储和查找,不保证元素的顺序;`TreeMap`基于红黑树,保持元素的自然顺序或自定义顺序。 - **性能差异**:对于插入、删除和查找操作,`HashMap`通常比`...

    HashMap资料.zip

    7. **HashMap与TreeMap的区别**:HashMap是基于哈希表,而TreeMap是基于红黑树。TreeMap能保持插入顺序或自然排序,但其性能稍逊于HashMap。 8. **HashMap的遍历方式**:HashMap可以通过`keySet()`、`entrySet()`和...

    java 中HashMap、HashSet、TreeMap、TreeSet判断元素相同的几种方法比较

    在Java编程中,HashMap、HashSet、TreeMap和TreeSet是四种常见的集合类,它们各自有特定的用途和内部实现机制。这些数据结构用于存储和管理数据,其中HashMap和HashSet是基于哈希表实现的,而TreeMap和TreeSet则是...

    浅谈Java中HashMap类的使用.pdf

    HashMap 和 TreeMap 都是 Java 语言中的 Map 接口实现,但它们有所不同。HashMap 不保证映射的顺序,而 TreeMap 则保证映射的顺序。当需要顺序输出时,可以使用 TreeMap 类实现 Map 集合。 六、实例应用 例如,在...

    Treemap-4.1.2

    8. **特性和性能**:与HashMap相比,TreeMap的插入和查找速度较慢,但由于其有序性,对于需要保持数据排序的应用来说,TreeMap是一个更好的选择。在内存使用方面,由于需要存储额外的排序信息,TreeMap通常比HashMap...

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

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

    HashMap排序

    - 使用`TreeMap`:创建一个`TreeMap`对象并传入`ByValueComparator`作为构造函数参数,然后将`HashMap`的所有键值对放入`TreeMap`中。 - 使用`Collections.sort()`:创建一个包含所有键的`ArrayList`,然后调用`...

Global site tag (gtag.js) - Google Analytics