1.ArrayList和LinkedList的区别
ArrayList(数组结构):查询速度快
LinkedList (链表结构) : 新增,删除速度快
通常我们在新增,删除时操作的是数据库
2.Collection接口的remove接口和iterator接口的remove方法有什么区别?
①:在性能方面:conllection是单链表结构,查询速度慢
iterator的remove()通常与next()使用,比如集合中每隔一项删除一项,效率更高
②:在容错方面:在使用iterator遍历时,
如果使用了Collection的remove方法则会报异常,(集合中对象的的个数发生了改变,而iterator内部的对象没有发生改变)
使用iterator的remove时,不会报异常(iterator内部的对象个数和原来集合中的对象会保持一致)
3.Array和ArrayList有什么区别
①:Array是数组,ArrayList是集合
②:存储的数据类型:Array只能存储相同的数据类型,而ArrayList可以存储不同数据类型的数据(但在实际项目开过程中,我们一般会加泛型)
③:长度的可变:Array的长度是固定的,而ArrayList的长度是固定的。
4.怎样将数组转换成List,有什么办法?
数组转List 用Arrays.asList(数组)
List转数组 用list.toArray()
5.HashSet,TreeSet,LinkedSet的区别?
HashSet的查询速度最快;TreeSet有集合排序功能;LinkedHashSet有按照插入顺序存储集合功能
6.HashMap,TreeMap,LinkedMap的区别?
在Map中插入,删除,查询用HashMap
需要集合排序功能,用TreeMap
需要按照插入的顺序存储集合用LinkedMap
7.HashMap和HashSet的区别?
HashMap | HashSet | |
接口 | Map | Set |
存储方式 | 存储键值对 | 存储对象 |
添加元素 | put | add |
计算hashcode | 使用key | 成员对象 |
查询速度 | 较快 | 较慢 |
8.List,Set, Map之间的区别
List,Set都继承于Collection,但是Map不是
List | Set | Map |
允许重复 | 不允许重复元素 | 键值对存储,但是值可以重复 |
允许多个为空 | 只允许一个null | 键只允许一个为空,值可以多个为空 |
有序 | 无序 | 无序 |
Queue(队列,先进后出),message(消息),Lopper(循环),Handler(处理)