- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用的是 Java 8,第 30 行的代码出现以下错误
The method flatMapping(( dish) -> {}, toSet()) is undefined for the type Grouping
public class Grouping {
enum CaloricLevel { DIET, NORMAL, FAT };
public static void main(String[] args) {
System.out.println("Dishes grouped by type: " + groupDishesByType());
System.out.println("Dish names grouped by type: " + groupDishNamesByType());
System.out.println("Dish tags grouped by type: " + groupDishTagsByType());
}
private static Map<Type, List<Dish>> groupDishesByType() {
return Dish.menu.stream().collect(groupingBy(Dish::getType));
}
private static Map<Type, List<String>> groupDishNamesByType() {
return Dish.menu.stream().collect(groupingBy(Dish::getType, mapping(Dish::getName, toList())));
}
private static String groupDishTagsByType() {
/*line:30*/ return menu.stream().collect(groupingBy(Dish::getType, flatMapping(dish -> dishTags.get( dish.getName() ).stream(), toSet())));
}
}
最佳答案
这可能是因为您期望的返回类型不正确,方法实现应该类似于:
private static Map<Dish.Type, Set<String>> groupDishTagsByType(Map<String, List<String>> dishTags) {
return Dish.menu.stream()
.collect(Collectors.groupingBy(Dish::getType,
Collectors.flatMapping(dish -> dishTags.get(dish.getName()).stream(),
Collectors.toSet())));
}
注意:我将变量作为参数引入只是为了回答。
重要:flatMapping
API in Collectors
是随 Java-9 引入的。
关于java - Grouping 类型未定义方法 flatMapping((<no type> dish) -> {}, toSet()),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54505423/
为什么此代码不起作用: scala> List('a', 'b', 'c').toSet.subsets.foreach(e => println(e)) :8: error: missing par
试图从字符列表中生成映射到其频率的唯一字符列表 - 例如就像是: List('a','b','a') -> List(('a',2), ('b',1)) 所以,只是在控制台中乱搞,这有效: val l
我正在查看 jdk-8 下的 Collectors.toSet 实现并且几乎看到了显而易见的事情: public static Collector> toSet() { return ne
是否有更惯用的方法将嵌套的序列序列更改为嵌套的集合? def toNestedSet[T](tsss: Seq[Seq[Seq[T]]]): Set[Set[Set[T]]] = tsss.m
取下面一行示例代码: Set someSet = someColletion.stream().map(p -> p.toString()).collect(Collectors.toSet());
为什么类型推断在这里失败? scala> val xs = List(1, 2, 3, 3) xs: List[Int] = List(1, 2, 3, 3) scala> xs.toSet map(
在scala中,为什么toSet()方法混淆了集合中元素的顺序(ListBuffer)? 我可以使用哪个集合来确保每个元素的唯一性并保持其原始顺序? 最佳答案 因为set抽象,是 traversabl
我想根据特定键的属性创建一个值集合。这些方法是这样工作的: Collection getValueOfKey(final Collection input, final String key) {
我想更新我的 JSON 中的一个字段,它是一个包含元素的数组(很简单,嗯?)。 我想将 userid 添加到 reportedUsersIDs数组。 我正在运行的查询(通过 POSTMAN): htt
这个问题在这里已经有了答案: What is the default Set/List implementation with Collectors in Java 8 Stream API? (1
Set接口(interface)不 promise 实现是否允许 null 元素。每个实现都应该在其文档中声明这一点。 Collectors.toSet() promise 返回 Set 的实现,但明
我使用的是 Java 8,第 30 行的代码出现以下错误 The method flatMapping(( dish) -> {}, toSet()) is undefined for the typ
Javadoc 说 Returns a Collector that accumulates the input elements into a new Set. There are no guara
将流的元素收集到集合中时,在流上指定 .distinct() 是否有任何优点(或缺点)?例如: return items.stream().map(...).distinct().collect(to
有人可以解释为什么会发生以下情况吗?我的意思是如果某物的类型是 String ,然后我希望运行 head在上面。但是Set("ab").head有效,而 List("ab").toSet.head.h
为什么类型推断在这里失败? scala> val xs = List(1, 2, 3, 3) xs: List[Int] = List(1, 2, 3, 3) scala> xs.toSet map(
当我尝试使用here is an example on web Hive.box('box_name')。listenable()时,如果没有键,则会发生错误; ════════ Exception
这是 java.util.stream.Collectors 类的 toSet() 方法的实现: public static Collector> toSet() { return new
如果我有一个对象列表(~200 个元素),只有几个唯一对象(~20 个元素)。 我只想拥有独特的值(value)。之间list.stream().collect(Collectors.toSet())
我是一名优秀的程序员,十分优秀!