【一分钟知识】HashSet和TreeSet,HashMap与HashTable

java思维导图

xmind导图配合精美文章,可视化学习,让java不再难懂。

HashSet和TreeSet

  • HashSet
    • 哈希表实现的,HashSet中的数据是无序的。
    • 不能保证元素的排列顺序,顺序有可能发生变化
    • 不是同步的
    • 集合元素可以是null,但只能放入一个null
    • 当向HashSet集合中存入一个元素时,HashSet会调用该对象的hashCode()方法来得到该对象的hashCode值,然后根据 hashCode值来决定该对象在HashSet中存储位置。
  • TreeSet
    • 二差树实现的,Treeset中的数据是自动排好序的,不允许放入null值
    • TreeSet是SortedSet接口的唯一实现类,TreeSet可以确保集合元素处于排序状态。
    • TreeSet支持两种排序方式,自然排序和定制排序,其中自然排序为默认的排序方式。
    • 向TreeSet中加入的应该是同一个类的对象。
    • TreeSet判断两个对象不相等的方式是两个对象通过equals方法返回false,或者通过CompareTo方法比较没有返回0。

HashMap与HashTable

  • HashMap
    • 线程不安全
    • 允许有null的键和值效率高一点
    • 方法不是Synchronize的
    • 要提供外同步有containsvalue和containsKey方法
    • HashMap 是Java1.2 引进的Map interface 的一个实现
    • HashMap是Hashtable的轻量级实现
  • HashTable
    • 线程安全
    • 不允许有null的键和值
    • 效率稍低
    • 方法是是Synchronize的有contains方法方法
    • Hashtable 继承于Dictionary 类、
    • Hashtable 比HashMap 要旧

原文发布于微信公众号 - java思维导图(java-mindmap)

原文发表时间:2018-02-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏王磊的博客

Java核心(四)面试必备—你不知道的数据集合

导读:Map竟然不属于Java集合框架的子集?队列也和List一样属于集合的三大子集之一?更有队列的正确使用姿势,一起来看吧!

972
来自专栏数据结构与算法

洛谷P3380 【模板】二逼平衡树(树套树)

您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:

2743
来自专栏对角另一面

lodash源码分析之compact中的遍历

本文为读 lodash 源码的第三篇,后续文章会更新到这个仓库中,欢迎 star:pocket-lodash

2166
来自专栏LanceToBigData

Java集合源码分析(三)Vevtor和Stack

前言   前面写了一篇关于的是LinkedList的除了它的数据结构稍微有一点复杂之外,其他的都很好理解的。这一篇讲的可能大家在开发中很少去用到。但是有的时候也...

2496
来自专栏架构说

题目:将链表的奇数位和偶数位调换组成新的链表

题目:将链表的奇数位和偶数位调换组成新的链表 原题链接: http://oj.leetcode.com/problems/swap-nodes-in-pairs...

5279
来自专栏xingoo, 一个梦想做发明家的程序员

20120918-向量实现《数据结构与算法分析》

#include <iostream> #include <list> #include <string> #include <vector> #include...

2246
来自专栏皮皮之路

【JDK1.8】JDK1.8集合源码阅读——Set汇总

1103
来自专栏计算机视觉与深度学习基础

Leetcode 179 Largest Number

Given a list of non negative integers, arrange them such that they form the lar...

25110
来自专栏Java学习网

Java中三种Set类型用法、性能大比拼

Java为开发者提供了大量的工具类,这给开发人员带来了很大方便,但是选择多了也有困扰,究竟用哪个类;我想选择什么,一是看自己具体需求,二是类本身的性能和用法;J...

5266
来自专栏落花落雨不落叶

线性表学习

33810

扫码关注云+社区

领取腾讯云代金券