Skip to content

Commit aa735b7

Browse files
committed
注释+用例混提交
1 parent b9f3a55 commit aa735b7

7 files changed

Lines changed: 37 additions & 26 deletions

File tree

src/main/java/com/taowater/ztream/op/GroupBy.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public interface GroupBy<T> extends Stream<T> {
2424
* 分组-缺省值类型、Map类型及组集合类型,默认为元素本身、HashMap及ArrayList
2525
*
2626
* @param funK funK
27-
* @return {@link Map}<{@link K}, {@link List}<{@link T}>>
27+
* @return 分组结果
2828
*/
2929
default <K> Map<K, List<T>> groupBy(Function<? super T, ? extends K> funK) {
3030
return this.groupBy(funK, Function.identity());
@@ -35,7 +35,7 @@ default <K> Map<K, List<T>> groupBy(Function<? super T, ? extends K> funK) {
3535
*
3636
* @param funK 分组依据
3737
* @param mapFactory map工厂
38-
* @return {@link M}
38+
* @return 分组结果
3939
*/
4040
default <K, M extends Map<K, List<T>>> M groupBy(Function<? super T, ? extends K> funK, Supplier<M> mapFactory) {
4141
return this.groupBy(funK, mapFactory, Collectors.toList());
@@ -46,7 +46,7 @@ default <K, M extends Map<K, List<T>>> M groupBy(Function<? super T, ? extends K
4646
*
4747
* @param funK 分组依据
4848
* @param downstream 下游
49-
* @return {@link M}
49+
* @return 分组结果
5050
*/
5151
@SuppressWarnings("unchecked")
5252
default <K, A, D, M extends Map<K, D>> M groupBy(Function<? super T, ? extends K> funK, Collector<? super T, A, D> downstream) {
@@ -60,7 +60,7 @@ default <K, A, D, M extends Map<K, D>> M groupBy(Function<? super T, ? extends K
6060
* @param funK 分组依据
6161
* @param mapFactory map工厂
6262
* @param downstream 下游
63-
* @return {@link M}
63+
* @return 分组结果
6464
*/
6565
default <K, A, D, M extends Map<K, D>> M groupBy(Function<? super T, ? extends K> funK, Supplier<M> mapFactory, Collector<? super T, A, D> downstream) {
6666
return this.groupBy(funK, Function.identity(), mapFactory, downstream);
@@ -71,7 +71,7 @@ default <K, A, D, M extends Map<K, D>> M groupBy(Function<? super T, ? extends K
7171
*
7272
* @param funK 分组依据
7373
* @param funV 值依据
74-
* @return {@link Map}<{@link K}, {@link List}<{@link V}>>
74+
* @return 分组结果
7575
*/
7676
default <K, V> Map<K, List<V>> groupBy(Function<? super T, ? extends K> funK, Function<? super T, ? extends V> funV) {
7777
return this.groupBy(funK, funV, HashMap::new);
@@ -83,7 +83,7 @@ default <K, V> Map<K, List<V>> groupBy(Function<? super T, ? extends K> funK, Fu
8383
* @param funK 分组依据
8484
* @param funV 值依据
8585
* @param mapFactory 提供的map
86-
* @return {@link Map}<{@link K}, {@link List}<{@link V}>>
86+
* @return 分组结果
8787
*/
8888
default <K, V, M extends Map<K, List<V>>> M groupBy(Function<? super T, ? extends K> funK, Function<? super T, ? extends V> funV, Supplier<M> mapFactory) {
8989
return this.groupBy(funK, funV, mapFactory, Collectors.toList());
@@ -95,7 +95,7 @@ default <K, V, M extends Map<K, List<V>>> M groupBy(Function<? super T, ? extend
9595
* @param funK 分组依据
9696
* @param funV 值依据
9797
* @param downstream 下游操作(组集合的类型)
98-
* @return {@link M}
98+
* @return 分组结果
9999
*/
100100
@SuppressWarnings("unchecked")
101101
default <K, V, A, D, M extends Map<K, D>> M groupBy(Function<? super T, ? extends K> funK, Function<? super T, ? extends V> funV, Collector<? super V, A, D> downstream) {
@@ -112,7 +112,7 @@ default <K, V, A, D, M extends Map<K, D>> M groupBy(Function<? super T, ? extend
112112
* @param funV 值依据
113113
* @param mapFactory 提供的map
114114
* @param downstream 下游操作(组集合的类型)
115-
* @return map
115+
* @return 分组结果
116116
*/
117117
default <K, V, A, D, M extends Map<K, D>> M groupBy(Function<? super T, ? extends K> funK, Function<? super T, ? extends V> funV, Supplier<M> mapFactory, Collector<? super V, A, D> downstream) {
118118
return this.collect(ExCollectors.groupingBy(funK, mapFactory, ExCollectors.mapping(funV, downstream)));
@@ -123,7 +123,7 @@ default <K, V, A, D, M extends Map<K, D>> M groupBy(Function<? super T, ? extend
123123
*
124124
* @param funK 一重键
125125
* @param funK2 二重键
126-
* @return {@link M}
126+
* @return 分组结果
127127
*/
128128
default <K, K2, M extends Map<K, Map<K2, List<T>>>> M groupBilayer(Function<? super T, ? extends K> funK, Function<? super T, ? extends K2> funK2) {
129129
return groupBilayer(funK, funK2, Function.identity());
@@ -135,7 +135,7 @@ default <K, K2, M extends Map<K, Map<K2, List<T>>>> M groupBilayer(Function<? su
135135
* @param funK 一重键
136136
* @param funK2 二重键
137137
* @param funV 值属性
138-
* @return {@link M}
138+
* @return 分组结果
139139
*/
140140
@SuppressWarnings("unchecked")
141141
default <K, K2, V, M extends Map<K, Map<K2, List<V>>>> M groupBilayer(Function<? super T, ? extends K> funK, Function<? super T, ? extends K2> funK2, Function<? super T, ? extends V> funV) {

src/main/java/com/taowater/ztream/op/Join.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ default String join(Function<? super T, ?> fun) {
5353
* @return 拼接后的字符串
5454
*/
5555
default String join(Function<? super T, ?> fun, CharSequence delimiter) {
56-
return map(e -> Any.of(e).get(fun)).collect(ExCollectors.join(delimiter, "", ""));
56+
return map(e -> Any.of(e).get(fun)).collect(ExCollectors.join(delimiter));
5757
}
5858

5959
/**

src/main/java/com/taowater/ztream/op/Judge.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
* 判断操作
1515
*
1616
* @author zhu56
17-
* @date @since 0.1.13
17+
* @since 0.1.13
1818
*/
1919
public interface Judge<T, S extends IZtream<T, S>> extends IZtream<T, S> {
2020

src/main/java/com/taowater/ztream/op/Math.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public interface Math<T> extends Stream<T> {
2323
* 累加
2424
*
2525
* @param fun 属性
26-
* @return 统计值
26+
* @return
2727
*/
2828
default <N extends Number> N sum(SerFunction<? super T, ? extends N> fun) {
2929
return sum(fun, null);
@@ -34,7 +34,7 @@ default <N extends Number> N sum(SerFunction<? super T, ? extends N> fun) {
3434
*
3535
* @param fun 属性方法引用
3636
* @param defaultValue 默认值
37-
* @return 统计值
37+
* @return
3838
*/
3939
default <N extends Number> N sum(SerFunction<? super T, ? extends N> fun, N defaultValue) {
4040
var result = filter(Objects::nonNull)
@@ -52,7 +52,7 @@ default <N extends Number> N sum(SerFunction<? super T, ? extends N> fun, N defa
5252
* 最大值
5353
*
5454
* @param fun 函数
55-
* @return {@link N}
55+
* @return 最大值
5656
*/
5757
default <N extends Comparable<N>> N max(SerFunction<? super T, ? extends N> fun) {
5858
return max(fun, null);
@@ -63,7 +63,7 @@ default <N extends Comparable<N>> N max(SerFunction<? super T, ? extends N> fun)
6363
*
6464
* @param fun 属性
6565
* @param defaultValue 默认值
66-
* @return {@link N}
66+
* @return 最大值
6767
*/
6868
default <N extends Comparable<N>> N max(SerFunction<? super T, ? extends N> fun, N defaultValue) {
6969
var result = filter(Objects::nonNull)
@@ -80,7 +80,7 @@ default <N extends Comparable<N>> N max(SerFunction<? super T, ? extends N> fun,
8080
* 最小值
8181
*
8282
* @param fun 函数
83-
* @return {@link N}
83+
* @return 最小值
8484
*/
8585
default <N extends Comparable<N>> N min(SerFunction<? super T, ? extends N> fun) {
8686
return min(fun, null);
@@ -91,7 +91,7 @@ default <N extends Comparable<N>> N min(SerFunction<? super T, ? extends N> fun)
9191
*
9292
* @param fun 属性
9393
* @param defaultValue 默认值
94-
* @return {@link N}
94+
* @return 最小值
9595
*/
9696
default <N extends Comparable<N>> N min(SerFunction<? super T, ? extends N> fun, N defaultValue) {
9797
var result = filter(Objects::nonNull)
@@ -110,7 +110,7 @@ default <N extends Comparable<N>> N min(SerFunction<? super T, ? extends N> fun,
110110
* @param fun 属性
111111
* @param defaultValue 默认值
112112
* @param nullCount null是否计数
113-
* @return {@link N }
113+
* @return 平均值
114114
*/
115115
default <N extends Number> N avg(SerFunction<? super T, ? extends N> fun, N defaultValue, boolean nullCount) {
116116
var result = collect(ExCollectors.avg(fun, nullCount));
@@ -122,7 +122,7 @@ default <N extends Number> N avg(SerFunction<? super T, ? extends N> fun, N defa
122122
*
123123
* @param fun 属性
124124
* @param defaultValue 默认值
125-
* @return {@link N }
125+
* @return 平均值
126126
*/
127127
default <N extends Number> N avg(SerFunction<? super T, ? extends N> fun, N defaultValue) {
128128
return avg(fun, defaultValue, true);

src/main/java/com/taowater/ztream/op/Sort.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,9 +125,8 @@ default S shuffle() {
125125
*
126126
* @return {@link S }
127127
*/
128-
@SuppressWarnings("unchecked")
129128
default S reverse() {
130129
AtomicInteger index = new AtomicInteger(0);
131-
return wrap(map(e -> new Box.PairBox<>(e, index.getAndAdd(1))).sorted(Comparator.comparing((Box.PairBox<T, Integer> o) -> o.getB()).reversed()).map(Box::getA));
130+
return wrap(map(e -> new Box.PairBox<>(e, index.getAndAdd(1))).sorted(Comparator.comparing((Function<Box.PairBox<T, Integer>, Integer>) Box.PairBox::getB).reversed()).map(Box::getA));
132131
}
133132
}

src/main/java/com/taowater/ztream/op/ToMap.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public interface ToMap<T> extends Stream<T> {
2020
* 映射
2121
*
2222
* @param funK 键方法
23-
* @return {@link Map}<{@link K}, {@link T}>
23+
* @return 映射结果
2424
*/
2525
default <K> Map<K, T> toMap(Function<? super T, ? extends K> funK) {
2626
return this.toMap(funK, Function.identity());
@@ -31,7 +31,7 @@ default <K> Map<K, T> toMap(Function<? super T, ? extends K> funK) {
3131
*
3232
* @param funK 键方法
3333
* @param mapFactory map工厂
34-
* @return {@link M}
34+
* @return 映射结果
3535
*/
3636
default <K, M extends Map<K, T>> M toMap(
3737
Function<? super T, ? extends K> funK,
@@ -44,7 +44,7 @@ default <K, M extends Map<K, T>> M toMap(
4444
*
4545
* @param funK 键方法
4646
* @param funV 值方法
47-
* @return {@link Map}<{@link K}, {@link V}>
47+
* @return 映射结果
4848
*/
4949
default <K, V> Map<K, V> toMap(
5050
Function<? super T, ? extends K> funK,
@@ -58,7 +58,7 @@ default <K, V> Map<K, V> toMap(
5858
* @param funK 键方法
5959
* @param funV 值方法
6060
* @param mapFactory map工厂
61-
* @return {@link Map}<{@link K}, {@link V}>
61+
* @return 映射结果
6262
*/
6363
default <K, V, M extends Map<K, V>> M toMap(
6464
Function<? super T, ? extends K> funK,

src/test/java/com/taowater/ztream/ZtreamTest.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,23 +91,35 @@ void distinct() {
9191
void hash() {
9292

9393
Map<String, Integer> map = new HashMap<>();
94+
Map<String, Student> oMap = new HashMap<>();
9495
for (var item : testList) {
9596
if (item == null) {
9697
map.put(null, null);
98+
oMap.put(null, null);
9799
continue;
98100
}
99101
map.put(item.getName(), item.getAge());
102+
oMap.put(item.getName(), item);
100103
}
101104

102105
equals(
103106
Ztream.of(testList).toMap(Student::getName, Student::getAge),
104107
map
105108
);
106109

110+
equals(
111+
Ztream.of(testList).toMap(Student::getName),
112+
oMap
113+
);
114+
107115
equals(
108116
Ztream.of(testList).hash(Student::getName, Student::getAge),
109117
map
110118
);
119+
120+
assert Ztream.of(testList).toMap(Student::getName, () -> new LinkedHashMap<>()) instanceof LinkedHashMap;
121+
122+
111123
}
112124

113125
@Test

0 commit comments

Comments
 (0)