使用Java 8流迭代对象属性

时间:2017-08-03 23:50:08

标签: java java-8 java-stream

我有ListPublication个对象,我希望以PublicationKeyword的形式获取每个Publication对应的Map<Integer, Map<Keyword, Integer>> Publication其中外部地图的键是列表中keyword的ID,值是地图,其中键是integer对象,public Map<Integer, Map<Keyword, Integer>> getFrequencies(List<Publication> publications) { Map<Integer, Map<Keyword, Integer>> resultSet = new HashMap<>(); for (Publication publication : publications) { Map<Keyword, Integer> frequencyMappings = new HashMap<>(); for (PublicationKeyword pubKeyword : publication.getPublicationKeyword()) { frequencyMappings.put(pubKeyword.getKeyword(), pubKeyword.getConceptFrequency()); } resultSet.put(publication.getIdPaper(), frequencyMappings); } return resultSet; } 是它的频率。< / p>

目前,我这样做:

{{1}}

但是,问题是我想使用Java 8流来实现这一目标。有可能吗?如果是的话,这样做的正确方法是什么?令我困惑的事情:嵌套的for循环和变量声明。

1 个答案:

答案 0 :(得分:4)

这应该这样做:

{{1}}