Map、List和Set的整合
1.Map和List、Set的区别?
Map | Set | List |
键值对存储,键必须唯一,值可以重复 | 不允许重复元素 | 可以允许重复元素 |
键只允许一个null,值可以允许有多个null | 只允许一个null元素 | 可以插入多个null元素 |
无序 | 无序 | 插入的顺序和输出的顺序一样 |
2.HashMap和HashSet的区别?
HashMap | HashSet |
实现了Map接口 | 实现了Set接口 |
以键值对的方式存储值 | 存储对象 |
调用put()向map中添加元素 | 调用add()向set中添加元素 |
使用key计算hashcode | 使用成员对象计算hashcode |
速度快 | 速度慢 |
3.ArrayList(数组结构)和LinkedList(列表结构)的区别?
1.ArrayList查询速度快,增删改慢。
2.LinkedList增删改速度快,查询慢。
注:查询操作的是集合,增删改操作的是数据库。LinkedList可以用于对购物车的操作。
4.Array与ArrayList有什么区别?
1.ArrayList是Array的复杂版本。
2.Array的长度是固定的,而ArrayList的长度是可变的。
3.存储的数据类型:Array只能存储相同数据类型的数据,而ArrayList可以存储不同数据类型的数据。
5.怎样把一个数组转成List?把List转成数组?
1.Arrays.asList(数组);
2.list.toArray(new String[数组的长度]);
6.HashSet、TreeSet、LinkedHashSe区别?
1.速度快:HashSet。
2.排序功能:TreeSet。
3.按照插入的顺序存储:LinkedHashSe。
最后送一张关系图供大家参考: