public class StreamTest {
private static ArrayList<String> arrayList;
public static void main(String[] args) {
arrayList = new ArrayList<String>();
arrayList.add("aaaa");
arrayList.add("bbbb");
arrayList.add("caccc");
arrayList.add("dddd");
arrayList.add("eeeae");
arrayList.add("afff");
arrayList.add("agggg");
test1();
System.out.println("=================");
test2();
System.out.println("=================");
System.out.println("=================");
test4();
System.out.println("=================");
test5();
System.out.println("=================");
test6();
System.out.println("=================");
test7();
}
public static void test1(){
arrayList
.stream()
.filter((s) -> s.startsWith("a"))
.forEach(System.out::println);
}
public static void test2(){
arrayList
.stream()
.sorted()
.forEach(System.out::println);
}
public static void test4(){
arrayList
.stream()
.map(String::toUpperCase)
.forEach(s -> System.out.println(s));
}
public static void test5(){
boolean m = arrayList
.stream()
.anyMatch((s) -> s.startsWith("a"));
System.out.println(m);
}
public static void test6(){
long count = arrayList
.stream()
.filter(s -> s.startsWith("a"))
.count();
System.out.println(count);
}
public static void test7(){
Optional<String> reduce = arrayList
.stream()
.sorted()
.reduce((s1, s2) -> s1 + "@" + s2);
reduce.ifPresent(System.out::println);
}
}