public class ArraysSort {
public static void main(String[] args)
{
//大寫轉換
String [] wordlist = {"Pdsgdfgdf","jfsdkjfksdfg","sdfusdf"};
List<String> output = Arrays.stream(wordlist).map(String::toUpperCase).collect(Collectors.toList());
System.out.println(output);
//list元素平方
List<Integer> list = Arrays.asList(1,2,3,4);
List<Integer> squareNums = list.stream().map(n->n*n).collect(Collectors.toList());
System.out.println(squareNums);
//各種數據類型的轉換。
Stream stream = Stream.of("a","b","c");
String [] strArray = new String[]{"a","b","c"};
//stream = Stream.of(strArray);
//System.out.println(stream);
//stream = Arrays.stream(strArray);
//System.out.println(stream);
List<String> list1 = Arrays.asList(strArray);
stream = list1.stream();
//System.out.println(stream);
List<String> list2 = (List<String>) stream.collect(Collectors.toList());
System.out.println(list2);
//一個 Stream 只可以使用一次
stream = list1.stream();
Set<String> set = (Set<String>) stream.collect(Collectors.toSet());
System.out.println(set);
stream = list1.stream();
Stack stack = (Stack) stream.collect(Collectors.toCollection(Stack::new));
System.out.println(stack);
stream = list1.stream();
String str = stream.collect(Collectors.joining()).toString();
System.out.println(str);
List<String> list4 = Arrays.asList("a","jjgjf");
List<String> out = list4.stream().map(String::toUpperCase).collect(Collectors.toList());
//輸出字符長度大於3的字符串並轉換爲大寫。
Stream.of("one", "two", "three", "four")
.filter(e -> e.length() > 3)
.peek(e -> System.out.println("Filtered value: " + e))
.map(String::toUpperCase)
.peek(e -> System.out.println("Mapped value: " + e))
.collect(Collectors.toList());
//結果:
//Filtered value: three
//Mapped value: THREE
//Filtered value: four
//Mapped value: FOUR
List<Integer> list23 = Arrays.asList(1,2,3,4,5);
Integer sum = list23.stream().reduce(0,(a,b)->(a+b));
//求和
System.out.println(sum);
String concat = Stream.of("A","B","C","D").reduce("",String::concat);
//字符串拼接
System.out.println(concat);
double minvalue = Stream.of(-1.5,1.0,-3.0,-2.0).reduce(Double.MAX_VALUE,Double::min);
//找出最小值
System.out.println(minvalue);
double minvalue1 = Stream.of(-1.5,1.0,-3.0,-2.0).reduce(0.0, Double ::sum);
//有初始化爲0的求和
System.out.println(minvalue1);
double minvalue2 = Stream.of(-1.5,1.0,-3.0,-2.0).reduce(Double::sum).get();
//沒有初始化的求和
System.out.println(minvalue2);
concat = Stream.of("a", "B", "c", "D", "e", "F").filter(x->x.compareTo("Z")>0).reduce("",String::concat);
//將大於‘Z’的字符拼接起來。
System.out.println(concat);
}
java8中的stream
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.