用于番石榴的Java 8收集器';s ImmutableListMultimap<;字符串,T>;
正在寻找一种简单的方法来收集用于番石榴的Java 8收集器';s ImmutableListMultimap<;字符串,T>;,java,java-8,guava,collectors,Java,Java 8,Guava,Collectors,正在寻找一种简单的方法来收集键和值的集合,这些值包含字段-String和List到ImmutableListMultimap? 试着做一些像 Collector.of( ImmutableListMultimap.Builder::new, ImmutableListMultimap.Builder<String,List<T>>::putAll, (b1, b2) -> b1.putAll(b2.bui
键和值的集合,这些值包含字段-String和List
到ImmutableListMultimap
?
试着做一些像
Collector.of(
ImmutableListMultimap.Builder::new,
ImmutableListMultimap.Builder<String,List<T>>::putAll,
(b1, b2) -> b1.putAll(b2.build()),
(builder) -> builder.build());
不确定在
KeyAndValues
上可用的方法,但是这个如何
public static <T> Collector<KeyAndValues<T>,
ImmutableListMultimap.Builder<String, T>,
ImmutableListMultimap<String, T>> toImmutableMultimap()
{
return Collector.of(
ImmutableListMultimap.Builder::new,
(b, kav) -> b.putAll(kav.getKey(), kav.getValues()),
(builder1, builder2) -> builder1.putAll(builder2.build()),
(builder) -> builder.build());
}
公共静态收集器toImmutableMultimap()
{
返回收集器(
ImmutableListMultimap.Builder::新建,
(b,kav)->b.putAll(kav.getKey(),kav.getValues()),
(builder1,builder2)->builder1.putAll(builder2.build()),
(builder)->builder.build());
}
或者,如果您希望隐藏累加器的详细信息,可以使用以下方法:
public static <T> Collector<KeyAndValues<T>,
?,
ImmutableListMultimap<String, T>> toImmutableMultimap()
{
return Collector.of(
ImmutableListMultimap.Builder<String, T>::new,
(b, kav) -> b.putAll(kav.getKey(), kav.getValues()),
(builder1, builder2) -> builder1.putAll(builder2.build()),
(builder) -> builder.build());
}
公共静态收集器toImmutableMultimap()
{
返回收集器(
ImmutableListMultimap.Builder::新建,
(b,kav)->b.putAll(kav.getKey(),kav.getValues()),
(builder1,builder2)->builder1.putAll(builder2.build()),
(builder)->builder.build());
}
不确定KeyAndValues
上可用的方法,但是这个如何
public static <T> Collector<KeyAndValues<T>,
ImmutableListMultimap.Builder<String, T>,
ImmutableListMultimap<String, T>> toImmutableMultimap()
{
return Collector.of(
ImmutableListMultimap.Builder::new,
(b, kav) -> b.putAll(kav.getKey(), kav.getValues()),
(builder1, builder2) -> builder1.putAll(builder2.build()),
(builder) -> builder.build());
}
公共静态收集器toImmutableMultimap()
{
返回收集器(
ImmutableListMultimap.Builder::新建,
(b,kav)->b.putAll(kav.getKey(),kav.getValues()),
(builder1,builder2)->builder1.putAll(builder2.build()),
(builder)->builder.build());
}
或者,如果您希望隐藏累加器的详细信息,可以使用以下方法:
public static <T> Collector<KeyAndValues<T>,
?,
ImmutableListMultimap<String, T>> toImmutableMultimap()
{
return Collector.of(
ImmutableListMultimap.Builder<String, T>::new,
(b, kav) -> b.putAll(kav.getKey(), kav.getValues()),
(builder1, builder2) -> builder1.putAll(builder2.build()),
(builder) -> builder.build());
}
公共静态收集器toImmutableMultimap()
{
返回收集器(
ImmutableListMultimap.Builder::新建,
(b,kav)->b.putAll(kav.getKey(),kav.getValues()),
(builder1,builder2)->builder1.putAll(builder2.build()),
(builder)->builder.build());
}
什么是KeyToValues
?添加了KeyAndValues类。@Holger:不起作用,获取编译器错误:类型CollectorOh的(ImmutableListMultimap.Builder::new,ImmutableListMultimap.Builder::putAll,(b1,b2)->{},(Builder)->{}方法没有定义。我很困惑,因为你说组合器有问题,而累加器不起作用。可能与KeyToValues
重复?添加了KeyAndValues类。@Holger:不起作用,获取编译器错误:方法(ImmutableListMultimap.Builder::new,ImmutableListMultimap.Builder::putAll,(b1,b2)->{},(生成器)->{}对于CollectorOh类型是未定义的。我很困惑,因为你说你的组合器有问题,而累加器不工作。可能是重复的