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。

最后送一张关系图供大家参考:

Map、List和Set的整合