mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-17 15:50:53 +07:00
41 lines
1.1 KiB
Java
41 lines
1.1 KiB
Java
import java.util.Map;
|
|
|
|
|
|
abstract class Test<Tt> {
|
|
|
|
public Map<String, Long> getNumberOfInstancesForEachWord() {
|
|
return collect(groupingBy(counting()));
|
|
}
|
|
|
|
abstract <R> R collect(Collector<? super Tt, R> collector);
|
|
abstract <Tg, M> Collector<Tg, M> groupingBy(Collector<? super Tg, Long> downstream);
|
|
abstract <Tc> Collector<Tc, Long> counting();
|
|
|
|
interface Collector<T, R> {}
|
|
}
|
|
|
|
abstract class Test1<Tt> {
|
|
|
|
public Map<String, Long> getNumberOfInstancesForEachWord() {
|
|
return collect(groupingBy(counting()));
|
|
}
|
|
|
|
abstract <R> R collect(Collector<Tt, R> collector);
|
|
abstract <Tg, M> Collector<Tg, M> groupingBy(Collector<Tg, Long> downstream);
|
|
abstract <Tc> Collector<Tc, Long> counting();
|
|
|
|
interface Collector<T, R> {}
|
|
}
|
|
|
|
abstract class Test2<Tt> {
|
|
|
|
public Map<String, Long> getNumberOfInstancesForEachWord() {
|
|
return collect(groupingBy(counting()));
|
|
}
|
|
|
|
abstract <R> R collect(Collector<Tt, R> collector);
|
|
abstract <Tg, M> Collector<Tg, M> groupingBy(Collector<? extends Tg, Long> downstream);
|
|
abstract <Tc> Collector<Tc, Long> counting();
|
|
|
|
interface Collector<T, R> {}
|
|
} |