集合 :本质是动态数组
使用集合的几种基本操作:
1、将对象添加到集合中
2、从集合中删除对象
3、查找一个对象是否位于集合内
4、从集合中检索对象
5、遍历集合,逐个查看每个元素
java集合框架中具有三个主要的数据结构,均实现了Collection(接口)
List—-1.可以包含重复的元素;2.以元素加入链接表的先后顺序作为元素的检索顺序。
Set—-集 1.不允许包含重复的元素;2.具有自己的排序原则。
Queue—-队列,队列的作用是存储处理之前需要暂存的数据元素,以先进先出的方式进行处理。
java集合框架提供了第四个基本数据结构Map,Map没有实现Collection接口,它自身就是一个接口。
List与Set只能存储单一的对象,而Map可以存储成对的对象,使用key-value来映射和存储数据,
Key必须惟一,value可以重复
Collection
List (关心索引) Set (关心唯一性)
ArrayList LinkedList Vector TreeSet HashSet
(不同步) (同步)
Map(关心唯一标识符)
Hashtable HashMap TreeMap
Properties
问:Collection和Collections有何不同? ====> Arrays Collections
ArraryList:把元素存储在数组中。能够很快得到所需的元素。数组在需要时会自动增大,当数组已满时,
而要求再增加一个新的元素时,则需要分配一个较大的新的数组,然后把原数组中的元素都复制到新的数组中。
LinkedList:把元素存储到位于内存中的链接表中。支持快速增加新元素,不需要加大整个数据结构。
获取元素的时间取决于元素在表中的位置,访问元素只能从链接表的某一端开始检索。
Vector:Vector和ArrayList相同,但是,为了线程安全,Vector方法被同步,
通常使用ArrayList而不是Vector,因为被同步的方法可能会造成不必要的性能损失。
HashSet:是一种未排序、未分类的集合。HashSet类的内部是采用散列表算法实现的,所以排序结果看起来杂乱无章
TreeSet:是分类集合之一(TreeMap),元素按照元素的自然顺序进行升序排列。
也可利用Comparable或Comparator为集合提供自己的排序规则。
TreeSet(Comparator