1集合的抽其核心,主要有三种:List、Set和Map。
集合类特性(几个常用类的区别)
ArrayList: 元素单个,效率高,多用于查询 LinkedList: 元素单个,多用于插入和删除 HashMap: 元素成对,元素可为空 HashTable: 元素成对,线程安全,元素不可为空
List、Map、Set三个接口,存取元素时,各有什么特点
List 以特定次序来持有元素,可有重复元素;
Set 无法拥有重复元素,内部排序(无序);
Map 保存key-value值,value可多值。
HashMap和Hashtable的区别
都属于Map接口的类,实现了将惟一键映射到特定的值上。
二.同步性:
Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的
三.值:
HashMap 类没有分类或者排序。它允许一个 null 键和多个 null 值。
Hashtable 类似于 HashMap,但是不允许 null 键和 null 值。
四.效率:
Hashtable 比 HashMap 慢,因为它是同步的。
数组(Array)和列表集合(ArrayList)有什么区别
下面列出了Array和ArrayList的不同点:
Array可以包含基本类型和对象类型,ArrayList只能包含对象类型。
Array大小是固定的,ArrayList的大小是动态变化的。
ArrayList提供了更多的方法和特性,比如:addAll(),removeAll(),iterator() 等等。
对于基本类型数据,集合使用自动装箱来减少编码工作量。但是,当处理固定大小的基本数据类型的时候,这种方式相对比较慢。
面试点:
1. HashMap 和HashTable区别
2. ConcurrentHashMap实现原理
3. ArrayList/LinkedList区别
4. ArrayList原理、HashMap原理 大小自增的原理
5. Set/List/Map区别
6. 泛型