Java8之Stream流代替For迴圈

2021-08-29 04:57:18 字數 1181 閱讀 5250

stream流代替for迴圈進行輸出可以使**更簡潔。

需求:根據姓名獲取員工資訊

1.建立實體類:emp

public class emp 

public string getid()

public void setid(string id)

public string getname()

public void setname(string name)

@override

public string tostring()

2.測試類:

(1.)原始for寫法:

listemps = new arraylist<>();

emps.add(new emp("00101","張三"));

emps.add(new emp("00102","張四"));

emps.add(new emp("00103","張五"));

emps.add(new emp("00104","張六"));

emps.add(new emp("00105","張七"));

for (emp emp : emps)

}

(2.)stream流:

listemps = new arraylist<>();

emps.add(new emp("00101","張三"));

emps.add(new emp("00102","張四"));

emps.add(new emp("00103","張五"));

emps.add(new emp("00104","張六"));

emps.add(new emp("00105","張七"));

//filter()定義方法,tolist()輸出為list

listemp=emps.stream().filter(e -> "張三".equals(e.getname())).collect(collectors.tolist());

emp.foreach(system.out::println);

輸出結果為:

java8之stream常見方法

通過名字知道這是個對映關係。stream map function super t,extends r stream stream stream.of 1 2 3 stream mapresult stream.map str integer.parseint str 扁平化對映,這個從字面理解有點...

Java 8中stream相關用法

jdk1.8新加了lambda表示式,可以幫助開發者更好的,更高效的實現一些通常複雜的 實現 1.list轉換map 2.從實體中取出id集合,去重 listlist page.stream filter m m.getid 0 map k k.getid distinct collect coll...

java8新特性之Stream 終止操作的多種方式

方法 簡述allmatch predicate p 檢查是否匹配所有元素 anymatch predicate 檢查是否至少匹配乙個元素 nonematch predicate p 檢查是否沒有匹配所有元素 findfirst 返回第乙個元素 findany 返回當前流中的任意元素 count 返回...