- 什么是集合,集合的作用是什么?
以下是我的个人理解,如果不正确欢迎大家指出。
集合是用来存储Java对象,内置类,以及自定义类的一个容器,在Java中每一个不同的集合会对应不同的数据结构,向不同的集合中存储元素,等于将数据放入了不同的数据结构中。例如:数组、二叉树、链表、哈希表…我们可以利用集合的特点对其中存放的数据进行增、删、改、查、遍历、排序等操作。集合不能直接存储基本数据类型,另外集合也不能直接存储Java对象,集合当中存储的都是Java对象的内存地址。
Java集合分为两大类:
-单个方式存储元素:超级父接口是Java.util.Collection
-以键值对方式存储元素:超级父接口是Java.util.Map
本文中主要是对Collection进行一个概述 - 集合的继承结构图
为了更深入的了解集合,我们首先了解一下集合中Collection的继承结构图。
-
1.Collection接口继承Iterable接口(Collection包含iterator()方法:方法返回iterator,Collection依赖于iterator迭代器)
-
2.迭代器iterator:hasNext(),next(),remove()共同完成集合的遍历
-
3.list(接口):ArrayList,LinkList,Vector(实现类)
-
-list:存进去什么数序,取出来什么顺序(有序,重复)
-
-ArrayList:采用数组存储元素,适合查询,不适合频繁增删。区别于Array,不需要指定初始化的长度,可以根据需要扩容。
-
-LinkedList:底层采用双向链表存储,适合频繁增删,不适合查询
-
-Vector:与ArrayList底层相同,但是是线程安全的
-
4.set(接口):SortedSet(子接口):TreeSet(实现类)
-
-Set:存进与取出顺序不同(无序,不可重复)
-
-HashSet:hash表散列表
-
-SortedSet:无序不可重复,但是存储进去的元素可以按照元素的大小自动排序