Stream流中間操作concat&distinct
阿新 • • 發佈:2022-04-10
package LambdaTest.LambdaTest06; import java.util.ArrayList; import java.util.stream.Stream; /** * FileName: StreamDemo04 * Author: lps * Date: 2022/4/10 11:47 * Sign:劉品水 Q:1944900433 * static <T> Stream<T> concat(Stream<? extends T> a, Stream<? extends T> b) * 建立一個懶洋洋的級聯流的元素的所有元素的第一流通過第二個流的元素。 合併a和b兩個流 * * Stream<T> distinct() * 返回一個包含不同的元素流(根據 Object.equals(Object))這個流。*/ public class StreamDemo04 { public static void main(String[] args) { ArrayList<String> array = new ArrayList<>(); array.add("劉品水"); array.add("劉品火"); array.add("大張偉"); array.add("劉一手"); array.add("劉紅"); array.add("張偉"); array.add("小張偉"); //1取前四個資料組成一個流 Stream<String> s1 = array.stream().limit(4); //2跳過兩個資料組成一個流 Stream<String> s2 = array.stream().skip(2); //合併1和2得到流 並把結果輸出 //Stream.concat(s1,s2).forEach(System.out::println); System.out.println("========="); //合併1和2並且不重複 輸出Stream.concat(s1, s2).distinct().forEach(System.out::println); } }
啟動4的話記得要把3給註釋掉