集合元素处理(Stream方式)
生活随笔
收集整理的這篇文章主要介紹了
集合元素处理(Stream方式)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
package com.learn.demo03.Stream;import java.util.ArrayList;
import java.util.stream.Stream;/*練習:集合元素處理(Stream方式)將上一題當中的傳統for循環寫法更換為Stream流式處理方式。兩個集合的初始內容不變,Person類的定義也不變。*/
public class Demo02StreamTest {public static void main(String[] args) {//第一支隊伍ArrayList<String> one = new ArrayList<>();one.add("迪麗熱巴");one.add("宋遠橋");one.add("蘇星河");one.add("石破天");one.add("石中玉");one.add("老子");one.add("莊子");one.add("洪七公");//1. 第一個隊伍只要名字為3個字的成員姓名;存儲到一個新集合中。//2. 第一個隊伍篩選之后只要前3個人;存儲到一個新集合中。Stream<String> oneStream = one.stream().filter(name -> name.length() == 3).limit(3);//第二支隊伍ArrayList<String> two = new ArrayList<>();two.add("古力娜扎");two.add("張無忌");two.add("趙麗穎");two.add("張三豐");two.add("尼古拉斯趙四");two.add("張天愛");two.add("張二狗");//3. 第二個隊伍只要姓張的成員姓名;存儲到一個新集合中。//4. 第二個隊伍篩選之后不要前2個人;存儲到一個新集合中。Stream<String> twoStream = two.stream().filter(name -> name.startsWith("張")).skip(2);//5. 將兩個隊伍合并為一個隊伍;存儲到一個新集合中。//6. 根據姓名創建Person對象;存儲到一個新集合中。//7. 打印整個隊伍的Person對象信息。Stream.concat(oneStream,twoStream).map(name->new Person(name)).forEach(p-> System.out.println(p));}
}
package com.learn.demo03.Stream;public class Person {private String name;public Person() {}public Person(String name) {this.name = name;}@Overridepublic String toString() {return "Person{" +"name='" + name + '\'' +'}';}public String getName() {return name;}public void setName(String name) {this.name = name;}
}
?
總結
以上是生活随笔為你收集整理的集合元素处理(Stream方式)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 集合元素处理(传统方式)
- 下一篇: 方法引用基本介绍