Stream流

破忒头头發表於2024-03-09

也叫做Stream流,是JDK8開始新增的一套API,用於操作集合或者陣列的資料

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.function.Consumer;
import java.util.function.Predicate;
import java.util.stream.Collectors;
/**
 * @author Pickle
 * @version V1.0
 * @date 2024/3/9 17:29
 */
public class StreamDemo {
    public static void main(String[] args) {
        List<String> list1 = new ArrayList<>();
        Collections.addAll(list1,"張三丰", "張無忌","周芷若","趙敏","張強");
        List<String> list2 = new ArrayList<>();
        //forEach
//        list1.forEach(s-> {
//                if (s.startsWith("張") && s.length() == 3){
//                    list2.add(s);
//                }
//        });
        //增強for迴圈
//        for (String s : list1) {
//            if(s.startsWith("張") && s.length() == 3){
//                list2.add(s);
//            }
//        }
        //stream流
        final List<String> list3 = list1.stream().filter(s -> s.startsWith("張")).filter(s -> s.length() == 3).collect(Collectors.toList());
        System.out.println(list3);
    }
}

Stream流的使用方法

獲取Stream流

Stream的中間方法
  • filter
  • sorted
  • forEach
  • limit
  • skip
  • map
  • distinct,自定義型別物件重寫hashCode和equals
  • concat
Stream流常見的終結方法
  • count
  • max
  • min
收集Stream流
  • collect
  • toArray

相關文章