一、集合的作用?
集合是可以存储一批类型不同的对象,针对集合的实现类有很多,作用都是一样的,即存储传输数据,但存储的数据结构不一样,其速度、安全性也不一样。
二、集合框架的组成?
1、接口
(1)Collection接口:直接存储:Set,List
(2)Map:键名+键值
2、实现
ArrayList Vector HashSet HashTable
3、算法
实现了很多静态方法,可以对集合进行操作Collections
三、Collection体系?
List(可存储重复的值)
Set(值不可以重复) ArrayList Vector LinkedList HashSet TreeSet
四、List的通用方法?
add()添加元素
remove()删除元素
set()设置元素
indexOf()索引下标
addAll(Collection c) 添加所有元素
removeAll(Collection c)移除所有元素
clone()复制
size()实际元素个数
capacity()最大容量
三种遍历方式:Iterator(迭代器)、Enumeration(序列)、for(循环)
五、ArrayList、Vector、LinkedList的区别?
ArrayList、Vector:以线性表的方式存储,查询、修改快,新增删除慢
Vector:是线程安全,方法是同步方法。
ArrayList:是线程不安全,方法是非同步方法。
LinkedList:单链表,查、改慢,增删快。
六、Set的特点?
不可以有重复值
1、两个对象的比较:对于自定义的类,必须覆盖equals方法。该类型的两个对象比较,只有覆盖了equals方法,才能确定这两个对象是否相同,否则不管相同还是不相同返回都是false.
2、向set集合对象中加入新对象,插入对象的hashCode值与集合中每一个对象的hashCode值比较,若有一个相等,返回false。若都不相同,插入对象与集合中每一个对象比较,若有一个相等,返回false不插入,若都不相同将插入对象加入到集合中
3、在开发中,对于自定义实体必须覆盖toString、hashCode、equals方法
七、Set的遍历方式?
只可以有两种遍历方式:iterator enumeration
HashSet值不可以重复;
TreeSet值夜不可以重复,会自动排序,即然可以排序,集合中对象类型必须相同。
八、Map的接口和特点?
键名 + 键值,键名不可以重复,键值可以重复,通过键名取键值。
HashMap:线程不安全 HashTable:线程安全
九、Collection及Collections的区别?
Collection是集合的根。Collections是算法,特工了静态方法,可以对集合进行操作。