测试width为inch的表格表现

dfajldjfakdjs
关于Java三大集合类Set,List和Map及各子类集合的区别

1. 所有常用集合类特性比较

 集合类

常用具体实现类

是否有序

线程安全

元素可否为null

元素是否可重复

操作效率

底层、实现


 

 


List

 

 

 

ArrayList

LinkedList

Vector

 

 

 

都有序,可以使用get(Index)方法取值

非安全

非安全

安全

 

 

 

都允许

 

 

 

都可重

 

 

查询快,增删慢

增删快,查询慢

查询快,增删慢

 

 

数组

链表

数组

  

 

  

  

     

     

      

   

 



Set

 

 

HashSet

TreeSet

 

无序

可自然排序或实现Comparable接口定制排序

 

都是非线程安全的

 

允许

不允许

 

都不可重复

 

存取速度快

性能比HashSet稍差

 

使用了哈希表实现

使用二叉树实现,SortedSet接口的唯一实现类

     

     

     

     

     

     

      

    



 

 

 
Map

 

 

 

 

HashTable

HashMap

TreeMap

  

 

 

取出时有散列顺序,无排序

无序

自动排序

  

安全

非安全

非安全

键值都不允许

键值都允许

键允许,值不允许

 

 

 

 键都不可重,值都可重

 

效率比HashMap低

通过哈希表内部映射关系快速查找

在添加、删除和定位映射关系性能比HashMap稍差

 

Hashtable是基于陈旧的Dictionary类的

HashMap存储方式是一个数组结构,数组中的每一项又是一个链表。

实现了SortedMap接口,映射关系有一定的顺序。二叉树。


2. HashSet与TreeSet

  • 当向HashSet结合中存入一个元素时,HashSet会调用该对象的hashCode()方法来得到该对象的hashCode值,然后根据 hashCode值来决定该对象在HashSet中存储位置。
  • 而TreeSet支持两种排序方式,自然排序和定制排序,其中自然排序为默认的排序方式。向 TreeSet中加入的应该是同一个类的对象。TreeSet判断两个对象不相等的方式是两个对象通过equals方法返回false,或者通过CompareTo方法比较没有返回0。
  •    HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。

  • ……

 

3. HashMap和HashTable的区别

  • ……/**以后再写**/

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值