◉◡◉ 您好,欢迎到访伊成个人站!

JDK1.8的几个新特性你知道多少

“JDK1.8的几个新特性你知道多少”

前言

在本篇博文中,将简单的介绍一下Java 8中 concat,count,sorted ,distinct stream API 的代码例子。

Stream.concat

concat() 是Stream API中的一个静态方法。它连接两个流对象并返回结果流对象。在我们的示例中,我们有两个列表,它们被转换为流,然后连接起来。

1
2
3
4
5
6
7
8
9
10
11
12
package com.concretepage.util.stream;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Stream;
public class ConcatDemo {
public static void main(String[] args) {
List<String> list1 = Arrays.asList("A1","A2","A3");
List<String> list2 = Arrays.asList("B1","B2","B3");
Stream<String> resStream = Stream.concat(list1.stream(), list2.stream());
resStream.forEach(s->System.out.println(s));
}
}

运行结果,如下:

1
2
3
4
5
6
A1
A2
A3
B1
B2
B3

Stream.count

count() 方法只计算流对象中的元素。它返回长值。在我们的代码示例中,我们有一个列表,将其转换为流,然后对其应用count方法。

1
2
3
4
5
6
7
8
9
10
11
12
package com.concretepage.util.stream;
import java.util.Arrays;
import java.util.List;
import java.util.function.Predicate;
public class CountDemo {
public static void main(String[] args) {
List<String> list = Arrays.asList("AA","AB","CC");
Predicate<String> predicate = s-> s.startsWith("A");
long l= list.stream().filter(predicate).count();
System.out.println("结果为:"+l);
}
}

运行结果,如下:

1
结果为:2

Stream.sorted

stream api中的sorted() 法根据自然顺序对stream元素进行排序。我们还可以通过comparator对象来获取自定义排序。

1
2
3
4
5
6
7
8
9
package com.concretepage.util.stream;
import java.util.Arrays;
import java.util.List;
public class SortedDemo {
public static void main(String[] args) {
List<String> list = Arrays.asList("DC","CD","AD");
list.stream().sorted().forEach(s->System.out.println(s));
}
}

运行结果:

1
2
3
AD
CD
DC

Stream.distinct

Stream API中的distinct()方法返回带有distinct元素的流。distinct元素由对象类的equal方法决定。

1
2
3
4
5
6
7
8
9
10
package com.concretepage.util.stream;
import java.util.Arrays;
import java.util.List;
public class DistinctDemo {
public static void main(String[] args) {
List<String> list = Arrays.asList("AA","AA","BB");
long l = list.stream().distinct().count();
System.out.println("结果为:"+l);
}
}

运行结果:

1
结果为:2

更多的jdk8 新特性以后用到了,还会继续写对应的博文记录,本篇就暂时记录这些,如果疑问欢迎留言一起探讨!

支付宝打赏 微信打赏

如果本文对你有所帮助,请打赏 1元就足够感动我 :)