hashmap,hashtable,linkedhashmap,treemap,arraylist和linkedlist

HashMap是无序的(是针对往map里面put值的顺序而言),但是如果key值是long或者intger时,他会按照key值从小到大的顺序排列,并且key值一样时,value值会被替换
linkedhashmap,treemap是有序的(是针对往map里面put值的顺序而言,貌似是倒序)

 

1、Hashtable是早期提供的接口,HashMap是新版JDK提供的接口。

2、Hashtable继承Dictionary类,HashMap实现Map接口。

3、Hashtable线程安全,HashMap线程非安全。

4、Hashtable不允许null值,HashMap允许null值。


HashMap 哈希扩容必须要求为原容量的2倍,而且一定是2的幂次倍扩容结果,而且每次扩容时,原来数组中的元素依次重新计算存放位置,并重新插入;而Hashtable扩容为原容量2倍加1

 

arraylist和linkedlist 

特性:ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 (LinkedList是双向链表,有next也有previous)

总结一点:
ArrayList更适合读取数据,linkedList更多的时候添加或删除数据。

当操作是在一列数据的后面添加数据而不是在前面或中间,并且需要随机地访问其中的元素时,使用ArrayList会提供比较好的性能;当你的操作是在一列数据的前面或中间添加或删除数据,并且按照顺序访问其中的元素时,就应该使用LinkedList了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值