代码的问题

来源:4-8 项目作业

TOUU_JP

2020-04-13 16:18:09

List<Map.Entry<String,Float>> list = new ArrayList<Map.Entry<String,Float>>(averageMap.entrySet());

关于上面代码的问题

  1. 意义在于将Map的键值对装换成List对吗

  2. ArrayList的三种构造方法里面并没有Map类型的参数 为什么可以这样写 或是适用于哪种构造

  3. List中的每一个元素是否都存放了<key.value>这样类型的数据

写回答

2回答

好帮手慕小尤

2020-04-14

同学你好,averageMap.entrySet()方法返回此映射中包含的映射关系的 Set 视图。
也是一个Set,而Set中每个元素是内部类Map.Entry,也就是Set<Map.Entry<String,Float>>。如下所示:

http://img.mukewang.com/climg/5e95160009b62b1e12890059.jpg

与规定的泛型( List<Map.Entry<String,Float>>)相符,所以可以传入averageMap.entrySet()。

注:Entry就是Map.Entry(),所以<Map.Entry<String,Float>与<Entry<String,Float>这两种方式都是用来表示Map中的每个键值对。因为Entry就是Map下的一个接口,Map.Entry与直接写Entry是一样的效果。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

0

好帮手慕小尤

2020-04-13

同学你好,1. List<Map.Entry<String,Float>>就是list集合存储Entry类类型的数据,而Entry类的key为String类型,而value是Float类型。

2. 是object类型构造方法,object是所有有类的父类,则可以传入子类,而entry是object的子类,所以可以传入entry。

3. 此list集合存储Entry类类型的对象,而Entry是有key.value组成,则此list集合存储的每条数据,都是由key.value组成。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

0
hOUU_JP
h averageMap.entrySet()返回的不是Set吗 为什么定义List也可以呢
h020-04-13
共1条回复

0 学习 · 11489 问题

查看课程