java集合分类大全

1 篇文章 0 订阅
1 篇文章 0 订阅
List:
实现List接口的常用类有LinkedList,ArrayList,Vector和Stack。ArrayList,LinkedList是不同步的,而Vestor是同步的。
ArrayList是List的子类,允许存放重复元素,有序。集合中元素被访问的顺序取决于集合的类型。如果对 ArrayList进行访问,迭代器将从索引0开始,每迭代一次,索引值加1(查询快)
LinkedList是一种可以在任何位置进行高效地插入和删除操作的有序序列。允许null元素,LinkedList使用双向链表实现存储(增删改快)
VectorVector由于使用了synchronized方法(线程安全)所以性能上比ArrayList要差(安全,性能差)
Set:
HashSet是Set接口的一个子类,主要的特点是:里面不能存放重复元素,而且采用散列的存储方法,所以没有顺序。这里所说的没有顺序是指:元素插入的顺序与输出的顺序不一致。不是同步的,集合元素可以是null,但只能放入一个null
TreeSet:有序,
LinkedHashSet:当遍历该集合时候,LinkedHashSet将会以元素的添加顺序访问集合的元素。
LinkedHashSet在迭代访问Set中的全部元素时,性能比HashSet好,但是插入时性能稍微逊色于HashSet。
Map:
TreeMap:有序
Hashtable:单向链的二维数组,value不能为空,线程安全的,所有方法均用synchronized修饰
与 HashMap类似,它继承自Dictionary类,不同的是:它不允许记录的键或者值为空(安全慢)
HashMap:可以放入空值,按插入的顺序存储,线程不安全,最多只允许一条记录的键为Null;允 许多条记录的值为 Null;
LinkedHashMap:存了记录的插入顺序,如果需要输出的顺序和输入的相同,那么用LinkedHashMap可以实现,它还可以按读取顺序来排列,像连接池中可以应 用。
ConcurrentHashMap:线程安全的,用于替代HashTable,采用分段加锁的方式实现,提升了效率
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值