mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-05-09 23:51:34 +08:00
fix format
This commit is contained in:
parent
65d7ff0d1c
commit
fa0d757c2d
@ -31,7 +31,7 @@ public class CollectorUtil {
|
|||||||
* 说明已包含IDENTITY_FINISH特征 为 Characteristics.IDENTITY_FINISH 的缩写
|
* 说明已包含IDENTITY_FINISH特征 为 Characteristics.IDENTITY_FINISH 的缩写
|
||||||
*/
|
*/
|
||||||
public static final Set<Collector.Characteristics> CH_ID
|
public static final Set<Collector.Characteristics> CH_ID
|
||||||
= Collections.unmodifiableSet(EnumSet.of(Collector.Characteristics.IDENTITY_FINISH));
|
= Collections.unmodifiableSet(EnumSet.of(Collector.Characteristics.IDENTITY_FINISH));
|
||||||
/**
|
/**
|
||||||
* 说明不包含IDENTITY_FINISH特征
|
* 说明不包含IDENTITY_FINISH特征
|
||||||
*/
|
*/
|
||||||
@ -76,11 +76,11 @@ public class CollectorUtil {
|
|||||||
CharSequence suffix,
|
CharSequence suffix,
|
||||||
Function<T, ? extends CharSequence> toStringFunc) {
|
Function<T, ? extends CharSequence> toStringFunc) {
|
||||||
return new SimpleCollector<>(
|
return new SimpleCollector<>(
|
||||||
() -> new StringJoiner(delimiter, prefix, suffix),
|
() -> new StringJoiner(delimiter, prefix, suffix),
|
||||||
(joiner, ele) -> joiner.add(toStringFunc.apply(ele)),
|
(joiner, ele) -> joiner.add(toStringFunc.apply(ele)),
|
||||||
StringJoiner::merge,
|
StringJoiner::merge,
|
||||||
StringJoiner::toString,
|
StringJoiner::toString,
|
||||||
Collections.emptySet()
|
Collections.emptySet()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -191,7 +191,7 @@ public class CollectorUtil {
|
|||||||
BinaryOperator<U> mergeFunction,
|
BinaryOperator<U> mergeFunction,
|
||||||
Supplier<M> mapSupplier) {
|
Supplier<M> mapSupplier) {
|
||||||
BiConsumer<M, T> accumulator
|
BiConsumer<M, T> accumulator
|
||||||
= (map, element) -> map.put(Opt.ofNullable(element).map(keyMapper).get(), Opt.ofNullable(element).map(valueMapper).get());
|
= (map, element) -> map.put(Opt.ofNullable(element).map(keyMapper).get(), Opt.ofNullable(element).map(valueMapper).get());
|
||||||
return new SimpleCollector<>(mapSupplier, accumulator, mapMerger(mergeFunction), CH_ID);
|
return new SimpleCollector<>(mapSupplier, accumulator, mapMerger(mergeFunction), CH_ID);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -239,18 +239,15 @@ public class CollectorUtil {
|
|||||||
*/
|
*/
|
||||||
public static <K, V, R extends Map<K, List<V>>> Collector<Map<K, V>, ?, R> reduceListMap(final Supplier<R> mapSupplier) {
|
public static <K, V, R extends Map<K, List<V>>> Collector<Map<K, V>, ?, R> reduceListMap(final Supplier<R> mapSupplier) {
|
||||||
return Collectors.reducing(mapSupplier.get(), value -> {
|
return Collectors.reducing(mapSupplier.get(), value -> {
|
||||||
final R result = mapSupplier.get();
|
final R result = mapSupplier.get();
|
||||||
value.forEach((k, v) -> result.computeIfAbsent(k, i -> new ArrayList<>()).add(v));
|
value.forEach((k, v) -> result.computeIfAbsent(k, i -> new ArrayList<>()).add(v));
|
||||||
return result;
|
return result;
|
||||||
}, (l, r) -> {
|
}, (l, r) -> {
|
||||||
R resultMap = mapSupplier.get();
|
final R resultMap = mapSupplier.get();
|
||||||
resultMap.putAll(l);
|
resultMap.putAll(l);
|
||||||
r.forEach((k, v) -> {
|
r.forEach((k, v) -> resultMap.computeIfAbsent(k, i -> new ArrayList<>()).addAll(v));
|
||||||
List<V> list = resultMap.computeIfAbsent(k, i -> new ArrayList<>());
|
return resultMap;
|
||||||
list.addAll(v);
|
}
|
||||||
});
|
|
||||||
return resultMap;
|
|
||||||
}
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -270,12 +267,12 @@ public class CollectorUtil {
|
|||||||
* @return {@link Collector}
|
* @return {@link Collector}
|
||||||
*/
|
*/
|
||||||
public static <T, K, R, C extends Collection<R>, M extends Map<K, C>> Collector<T, ?, M> groupingBy(
|
public static <T, K, R, C extends Collection<R>, M extends Map<K, C>> Collector<T, ?, M> groupingBy(
|
||||||
final Function<? super T, ? extends K> classifier,
|
final Function<? super T, ? extends K> classifier,
|
||||||
final Function<? super T, ? extends R> valueMapper,
|
final Function<? super T, ? extends R> valueMapper,
|
||||||
final Supplier<C> valueCollFactory,
|
final Supplier<C> valueCollFactory,
|
||||||
final Supplier<M> mapFactory) {
|
final Supplier<M> mapFactory) {
|
||||||
return groupingBy(classifier, mapFactory, Collectors.mapping(
|
return groupingBy(classifier, mapFactory, Collectors.mapping(
|
||||||
valueMapper, Collectors.toCollection(valueCollFactory)
|
valueMapper, Collectors.toCollection(valueCollFactory)
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -293,9 +290,9 @@ public class CollectorUtil {
|
|||||||
* @return {@link Collector}
|
* @return {@link Collector}
|
||||||
*/
|
*/
|
||||||
public static <T, K, R, C extends Collection<R>> Collector<T, ?, Map<K, C>> groupingBy(
|
public static <T, K, R, C extends Collection<R>> Collector<T, ?, Map<K, C>> groupingBy(
|
||||||
final Function<? super T, ? extends K> classifier,
|
final Function<? super T, ? extends K> classifier,
|
||||||
final Function<? super T, ? extends R> valueMapper,
|
final Function<? super T, ? extends R> valueMapper,
|
||||||
final Supplier<C> valueCollFactory) {
|
final Supplier<C> valueCollFactory) {
|
||||||
return groupingBy(classifier, valueMapper, valueCollFactory, HashMap::new);
|
return groupingBy(classifier, valueMapper, valueCollFactory, HashMap::new);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -303,16 +300,16 @@ public class CollectorUtil {
|
|||||||
* 提供对null值友好的groupingBy操作的{@link Collector}实现,
|
* 提供对null值友好的groupingBy操作的{@link Collector}实现,
|
||||||
* 对集合分组,然后对分组后的值集合进行映射
|
* 对集合分组,然后对分组后的值集合进行映射
|
||||||
*
|
*
|
||||||
* @param classifier 分组依据
|
* @param classifier 分组依据
|
||||||
* @param valueMapper 值映射方法
|
* @param valueMapper 值映射方法
|
||||||
* @param <T> 元素类型
|
* @param <T> 元素类型
|
||||||
* @param <K> 键类型
|
* @param <K> 键类型
|
||||||
* @param <R> 值类型
|
* @param <R> 值类型
|
||||||
* @return {@link Collector}
|
* @return {@link Collector}
|
||||||
*/
|
*/
|
||||||
public static <T, K, R> Collector<T, ?, Map<K, List<R>>> groupingBy(
|
public static <T, K, R> Collector<T, ?, Map<K, List<R>>> groupingBy(
|
||||||
final Function<? super T, ? extends K> classifier,
|
final Function<? super T, ? extends K> classifier,
|
||||||
final Function<? super T, ? extends R> valueMapper) {
|
final Function<? super T, ? extends R> valueMapper) {
|
||||||
return groupingBy(classifier, valueMapper, ArrayList::new, HashMap::new);
|
return groupingBy(classifier, valueMapper, ArrayList::new, HashMap::new);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user