1. 程式人生 > 其它 >java+Stream流小應用,簡單好理解易錯

java+Stream流小應用,簡單好理解易錯

技術標籤:錯誤筆記switchstream

Stream< String> s01=list.stream().skip(4);重新建立了一個新的流包含獲取的幾個元素
Stream< String> s01=list.stream().skip(4).limit(4);
流可以對一個字串集合ArrayList內部進行排序,下面使用lambda表示式
list.stream().sorted((s1,s2)->{
int length=s1.length()-s2.length();對於字串長度相等的也有辦法
return 0==length?s1.comparator(s2):length

}).forEach();若sorted內部沒有,則自然規則排序,123456789

package Line202;

import java.util.ArrayList;
import java.util.Scanner;
import java.util.stream.Stream;

public class demo06 {
    public static void main(String[] args) {
        ArrayList<String> person = new ArrayList<>();
        person.add("郭飛宇"
); person.add("廢物"); person.add("豐富"); person.add("訪問方法"); person.add("菲菲"); person.add("紛紛為"); person.add("紛紛為"); person.add("紛紛為"); person.add("紛紛為"); int
length = person.size(); int count = 3; int f = 0; //int page = length / 3 + length % count == 0 ? 0 : 1; int page=(int)Math.ceil(length / 3.0); System.out.println(page); System.out.println(length); System.out.println(count); // Stream<String> stream = person.stream();這裡new會出錯,因為下方有foreach,終止輸出函式,下方要使用person.stream(),不信你試試 while (true) { System.out.println("輸入下一頁1/2還是就上一頁3/4?"); person.stream().skip(f* page).limit(count).forEach(System.out::println); System.out.println(f); switch (new Scanner(System.in).next()) { case "1": case "2": f= Math.min( page-1, f+ 1);//下 break; case "3": case "4": f= Math.max(0, f-1);//上一頁 break; }