Skip to content

Commit e1728d3

Browse files
committed
update streams,add some filter methods
1 parent d5cc9f2 commit e1728d3

File tree

1 file changed

+20
-0
lines changed
  • summer-java-core/src/main/java/com/dianpoint/summer/lang

1 file changed

+20
-0
lines changed

summer-java-core/src/main/java/com/dianpoint/summer/lang/Streams.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
package com.dianpoint.summer.lang;
22

3+
import java.util.function.Predicate;
4+
import java.util.stream.Stream;
5+
import java.util.stream.StreamSupport;
6+
37
/**
48
* @author: congccoder
59
* @email: congccoder@gmail.com | <a href="https://github.com/ccoderJava">github-homepage</a>
@@ -8,5 +12,21 @@
812

913
public interface Streams {
1014

15+
static <T> Stream<T> stream(T... values) {
16+
return Stream.of(values);
17+
}
18+
19+
static <T> Stream<T> stream(Iterable<T> iterable) {
20+
return StreamSupport.stream(iterable.spliterator(), false);
21+
}
22+
23+
24+
static <T> Stream<T> filterStream(T[] values, Predicate<? super T> predicate) {
25+
Stream<T> stream = stream(values);
26+
return stream.filter(predicate);
27+
}
1128

29+
static <T, S extends Iterable<T>> Stream<T> filterStream(S values, Predicate<? super T> predicate) {
30+
return stream(values).filter(predicate);
31+
}
1232
}

0 commit comments

Comments
 (0)