Java8 Stream經典示例

2021-07-11 00:14:30 字數 1781 閱讀 5540

示例一:

class user 

public int getid()

public string tostring()

}

現在有乙個list的集合,如何把這個list轉換成map其中,key是user id,value是user物件

**如下:

listusers = arrays.aslist(new user(1, "tomcat"), new user(2, "apache"), new user(3, "nginx"));

mapmap = users.stream().collect(collectors.tomap(obj -> obj.getid() , obj -> obj));

system.out.println(map);

或者使用方法的引用

mapmap = users.stream().collect(collectors.tomap(user::getid , obj -> obj));

最後,輸出結果

示例二:

有如下list>

list> list = new arraylist<>();

mapmap1 = new hashmap<>();

map1.put("id", "101");

map1.put("name", "tomcat");

mapmap2 = new hashmap<>();

map2.put("id", "102");

map2.put("name", "apache");

mapmap3 = new hashmap<>();

map3.put("id", "103");

map3.put("name", "nginx");

list.add(map1);

list.add(map2);

list.add(map3);

如何把list中的每個map中的id取出來,轉換成list

listids = list.stream().map(entity -> entity.get("id")).collect(collectors.tolist());

system.out.println(ids);

或者

listids = arrays.aslist(list.stream().map(entity -> entity.get("id")).toarray());

輸出結果:

[101, 102, 103]

示例三:

mapmap = stream.of(querystring.split("&")).map(obj -> obj.split("=")).collect(collectors.tomap(entry -> entry[0], entry -> entry[1]));

system.out.println(map);

輸出結果:

示例四:

把list轉換成list

liststrs = arrays.aslist("1","2","3");

listints = strs.stream().map(obj -> integer.valueof(obj)).collect(collectors.tolist());

Java8 Stream 中間操作

1 filter 過濾,接收lambda,從流中排除某些元素 內部迭代 迭代操作有stream api完成 test public void test1 終止操作 一次性執行全部內容 stream.foreach system.out println 外部迭代 test public void te...

JAVA8 stream 流相關操作

1.查詢流中滿足條件的第乙個元素 集合 stream filter item 條件 findany get 集合 stream filter item 條件 findfirst get 2.內迴圈 集合 stream foreach item 3.將集合轉換為map function.identit...

java8 stream的collect 三個引數

collect方法有兩個過載 第乙個接收的是collector型別的,可以直接用collectors這類工具傳方法引用。第二個接收的是三個引數的,supplier 乙個能創造目標型別例項的方法。accumulator 乙個將當元素新增到目標中的方法。combiner 乙個將中間狀態的多個結果整合到一...