代码的问题
来源:4-8 项目作业
TOUU_JP
2020-04-13 16:18:09
List<Map.Entry<String,Float>> list = new ArrayList<Map.Entry<String,Float>>(averageMap.entrySet());
关于上面代码的问题
意义在于将Map的键值对装换成List对吗
ArrayList的三种构造方法里面并没有Map类型的参数 为什么可以这样写 或是适用于哪种构造
List中的每一个元素是否都存放了<key.value>这样类型的数据
2回答
同学你好,averageMap.entrySet()方法返回此映射中包含的映射关系的 Set 视图。
也是一个Set,而Set中每个元素是内部类Map.Entry,也就是Set<Map.Entry<String,Float>>。如下所示:
与规定的泛型( List<Map.Entry<String,Float>>)相符,所以可以传入averageMap.entrySet()。
注:Entry就是Map.Entry(),所以<Map.Entry<String,Float>与<Entry<String,Float>这两种方式都是用来表示Map中的每个键值对。因为Entry就是Map下的一个接口,Map.Entry与直接写Entry是一样的效果。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
好帮手慕小尤
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组成。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
相似问题