集合等数据结构大量使用了Stream流式操作,极大的提高编程效率和程序可读性。这里只是做一个简单的例子,方便查阅理解。
Stream流式处理的具体使用及详细解读请参见
https://blog.csdn.net/qq_32224047/article/details/106604609
public class StreamDemo {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
//添加元素
list.add("bss");
list.add("asasd");
list.add("Cmad");
list.add("dsd");
list.add("Cda");
//匹配以C开头的元素
/* for (String l:list
) {
if (l.startsWith("C")){
System.out.println(l);
}
}*/
//流式结构
Stream<String> s = list.stream();
/* s.filter(new Predicate<String>() {
//指定过滤规则
@Override
public boolean test(String s) {
return s.startsWith("C");
}
}).forEach(new Consumer<String>() {
//把已经过滤的元素进行输出
@Override
public void accept(String s) {
System.out.println(s);
}
});*/
//Lambda 表达式--函数式接口
/* s.filter(str->str.startsWith("C"))
.forEach(str-> System.out.println(str));*/
//匹配以C 开头在排序,升序
/* s.filter(str->str.startsWith("C")).sorted((o1,o2)->o1.compareTo(o2))
.forEach(str-> System.out.println(str));*/
//匹配以C 开头在排序,降序序
s.filter(str->str.startsWith("C")).sorted((o1,o2)->o2.compareTo(o1))
.forEach(str-> System.out.println(str));
}
}