请简述集合和数组的异同点?
答案:
集合:
可以存储不同类型的元素(通常使用存储一种类型元素)
集合的长度可以改变
数组:
必须存储相同一类型的元素(Object类型数组除外)
数组的长度固定
请简述迭代器是一个什么玩意?
答案:迭代器就是对容器中的元素进行遍历,每次取出一个元素,然后对元素进行操作。
请简述常见的数据结构有哪些?
答案:线性表、链表、栈、队列、树、哈希表
请简述ArrayList、Vector、LinkedList三者的特点?
答案:
ArrayList:
底层数组结构;线程不同步,效率高;元素查找快、增删慢;
Vector:
底层数组结构;线程同步,安全;元素查找快、增删慢;
LinkedList:
底层链表结构,线程不同步,效率高;元素增删快、查找慢
请简述ArrayList、Vector、LinkedList,分别在什么时候使用?
答案:
程序是否要考虑线程安全?
是: Vector
否: 查找操作多还是增删操作多?
查找多:ArrayList
增删多:LinkedList
请简述并发修改异常产生的原因?如何解决?
答案:ConcurrentModificationException并发修改异常
在迭代器迭代的过程中,集合中的元素个数发生了改变,此时导致并发修改异常。
解决方式:
1. 通过列表迭代器自带的方法完成元素增删操作。
2. 通过for循环遍历集合,使用集合中的方法完成元素增删操作。
请说明StringBuffer与StringBilder二者之间的区别?</