容器就是集合,谈谈你对容器的理解就是你对集合的理解,首先先说明集合和数组的区别,然后详细说明集合的内容。
集合和数组的区别
-
长度
-
数组长度固定
-
集合长度可变
-
-
内容
-
数组存储同一类型元素
-
集合存储不同类型元素 ,也称为对象
-
-
元素类型
-
数组可以存基本类型,也可以存引用类型
-
集合只可以存引用类型 (集合里面的1属于interge类型的)
-
再谈谈集合的类有哪些
java是一门面向对象语言,面向对象语言对事物的体现都是以对象的形式,因为数组是连续的存储空间,增删慢,所以为了方便对多个对象的操作,Java就提供了 集合类。
Java集合是java提供的一个工具包,全部继承自java.util.*
。主要包括两大接口Collection
接口和Map
接口以及相关的工具类(Iterator
迭代器接口、Enumeration
枚举类、Arrays
和Colletions
)。
collection属于上级接口,它的下面有list和set
list:有序的,可重复的
ArrayList: 底层数据结构是数组,查询快,增删慢。 线程不安全,效率高。
Vector: 底层数据结构是数组,查询快,增删慢。 线程安全,效率低。
LinkedList: 底层数据结构是链表,查询慢,增删快。 线程不安全,效率高
Set :无序(输出的顺序和插入的顺序不一样),不允许重复
hashset 不保证顺序 底层数据结构是哈希表 linkedhashset 底层是哈希表加链表 哈希表保证唯一性,链表保证有序
treeset 可以排序 使用元素自然排序排序 使用Comparator
Map 和collection的区别 :
map存储元素是成对出现的,键是唯一的,值可重复 Collection存储元素是单独的 map集合的数据结构只针对键有效,和值无关 collection的数据结构针对元素有效 。
hashmap 键是哈希表结构,可以保证键的唯一性
LinekedHashMap Map 接口的哈希表和链接列表实现,具有可预知的迭代顺序。 TreeMap 键是红黑树结构,可以保证键的排序和唯一性
Collections:是针对集合进行操作的工具类,都是静态方法。