Java中collection的总结

1.hashmap

没有排序,键值对允许为null,线程不安全。键是有set实现的,因此不允许重复。

2.hashtable

是一个比较古老的方法,他的命名甚至不符合传统的命名规范。线程安全的,多个线程访问的时候也可以,继承来自dictionary类。键是有set实现的,因此不允许重复

-----------------------------------------

list的有用实现,主要是有四种;1arraylist 2.vector 3.linkedlist 4.stack

1.arraylist

底层是有数组实现的,线程不安全,适合查找等操作,元素可以重复。

2.vector

底层是数组,线程安全的,数据量巨大的时候比较适合。

3.linkedlist

底层是基于链表实现的,可以频繁的插入和删除。

-----------------

arraylist和vector在元素数量大于集合长度时,arraylist的增长率是50%,vector的增长率是100%,数据量巨大的时候比较适合。

------------------

toArrsy()方法:

基于数组实现的list在复制时,会把旧的数组复制到新的数组从而产生大量的不再被系统是用的变量,等待系统回收,而基于链表的不会出现这种问题。

vector和stack生来就是为了同步。

用法策略:

数据量不确定,但是已经填满不需要插入删除,只需要遍历。则先建立linkedlist保存数据, 再转为arraylist;

数据量确定,但是一经填满需要频繁的插入删除。则先建立arraylist保存数据,再转为linkedlist。

参考连接:

http://www.360doc.com/content/15/1103/11/28759931_510406071.shtml


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值