java-集合
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java-集合相关的知识,希望对你有一定的参考价值。
数组与集合:
1存储数据:数组存储同种数据类型的数据元素;集合存储多种数据类型元素。
2大小:数组固定长度,初始化后不可扩展;集合可变方便添加和插入。
3类型:数组存基本数据类型和引用数据类型;集合只能存引用数据类型。
4应用场景:数组应用在定义和接受定长数据;集合存储大小未知的对象。
----------------------------------分割线--------------------------------------------------
collection下有set(HashSet)和List(LinkedList和ArrayList),而Map下只有Hashmap
Set:无序不可重复。
List有序可重复。
List(LinkedList和ArrayList)
1本质:LinkList是双向的链式结构,每一个对象除了数据本身还有两个引用,分别指向前一个元素和后一个元素。ArrayList数组的顺序存储结构。
2应用场景:LinkList插入删除方便,但速度慢。
-------------------------------------------------------------------------------------------
ArrayList,Vector,LinkList的存储性能和特点:ArrayList和Vector都是使用数组元素存储数据,数组元素数大于实际存储的数据,以便增加和插入元素。都允许按序号索引元素,但是插入时涉及元素移动内存等操作,所以索引数据快插入数据慢,Vector线程安全所以比前者慢,LinkList使用双向链表实现存储,索引数据时需要向前或向后便利,但是插入只需要记录前后项即可,所以插入块。
Collection和Collections的区别:Collection是集合 类的上级接口,继承他的接口主要有Set和List,而Collections是针对集合类的一个帮助类提供一系列静态方法对集合进行搜索,排序,线程安全等操作。
HashMap和Hashtable的区别:HashMap非线程安全,允许空键值,效率高
以上是关于java-集合的主要内容,如果未能解决你的问题,请参考以下文章