Java面试中遇到的集合问题
List(有序、可重复)
list关注的是索引 ,拥有一系列索引相关的方法,所以查询速度快,因为往list中执行增删操作时会伴随着数据移动,所以增删慢
–ArrayList 基于数组,查询快增删慢
–LinkdeList 基于链表,增删快查询慢
Set(无序,不可重复)
Set里存放的对象是无序,不能重复的,集合中的对象不按特定的方式排序,只是简单地把对象加入集合中。
Map(键值对、键唯一、值不唯一)
–HashMap 是常用map,根据键的hashCode值存储数据,根据键可以直接获取到他的值,具有很快的访问速度,遍历时取得数据顺序是随机的,健对象不可重复,所以hashMap最多有一条null键,可有多个null值,是非同步的
–HashTable 是线程安全的,支持同步,任意时刻只有一个线程能写HashTable写入较慢,继承Dictionary类,key和value都不允许为null。