我试图将具有树集的列表的所有值树集元素放入linkedHashSet
。该树集列表由values()
的TreeMap<String, TreeSet>
方法返回。代码如下:
Map<String, TreeSet> sortedByMonthAndVarietyNameMap = new HashMap<>();
sortedByMonthAndVarietyNameMap.values().stream().flatMap(monthList -> monthList.stream()).collect(Collectors.toCollection(LinkedHashSet::new));
这应该返回带有平面映射树集的所有元素的
LinkedHashSet
。但实际上,它返回类型为Object
的对象。为什么会这样呢?有人可以解释我在做什么错吗?
最佳答案
TreeSet没有完全键入:
Map<String, TreeSet<Integer>> sortedByMonthAndVarietyNameMap = new HashMap<>();
LinkedHashSet<Integer> result = sortedByMonthAndVarietyNameMap.values().stream()
.flatMap(monthList -> monthList.stream())
.collect(Collectors.toCollection(LinkedHashSet::new));
关于java - 为什么映射和收集树集列表会返回一个对象?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52611629/