1:集合的由来?
数组的长度是固定的,当所添加的元素大于数组的长度时,需要对数组重新定义,太麻烦了,而java内部中提供的集合类能储存任意对象且长度是可变的,随着元素的长度的增减而增减。
2:集合和数组的区别?
区别一:
数组既可以储存基本数据类型,也可以储存引用数据类型,区别在于基本数据类型储存的是值,引用数据类型储存的是地址值
集合可以储存引用数据类型(对象),也可以储存基本数据类型,只不过在储存的时候会自动装箱变成对象
区别二:
数组长度固定不可增长、
集合长度不固定,可以根据元素的增减而增减
3:Collection集合的功能概述?
通过查找api

4:Collection集合存储字符串并遍历?(迭代器)
迭代器:集合是用来储存元素的,元素的储存需要迭代(遍历)

5:Collection集合存储自定义对象并遍历?(迭代器)
* Collection存储自定义对象并用迭代器遍历
*

6:List集合的特有功能?
* void add(int index,E element) //在指定位置添加元素
* E remove(int index) //移除指定位置的元素
* E get(int index) //返回列表中指定位置的元素
* E set(int index,E element) //用指定元素替换列表中指定位置的元素
7:List集合存储自定义对象并遍历?(迭代器和普通for)

8:并发修改异常出现的原因?解决方案?

9:常见的数据结构的特点?
数组:查询快,修改快,增删慢
链表:查询慢,修改慢,增删快
10:List集合的子类特点
ArrayList:底层数据结构是数组,查询快,增删慢,线程不安全,效率高
Vector:底层数据结构是数组,查询快,增删慢,线程安全,效率低
LinkedList:底层数据结构是链表,查询慢,增删快,线程不安全,效率高
11:List的三个儿子你准备使用谁?请说明理由。
查询多用ArrayList
增删多用LinkedList
都多用ArrayList