![](/img/trans.png)
[英]Convert GraphTraversal<Vertex, Map<Object, List>> into Java8 stream
[英]convert list of object to map java 8 stream
我有 pojo 如下
Class Employee () {
Private name;
Private id;
}
這個員工 class 用於從 mybatis orm 中獲取對象列表(List)。
mybatis 返回 output 作為 List 因為 mybatis 不支持 Map 作為返回類型
我必須將其轉換為 Map
我嘗試了以下一個但沒有奏效,因為它需要 getName() 和 getId() 方法
Map<String, String> map = list.stream().collect(Collectors.toMap(Employee::getId, Employee:getName));
請告知是否有一種方法可以在不修改 Employee pojo 的情況下使用 stream 實現。
注意:我知道我們可以使用 ofr 或 for each 循環來實現。
你應該總是發布精心制定的問題,但由於你是新手,所以忽略那部分。 我在這里假設您的name
和ID
都是字符串類型。
下面的代碼非常適合您。
Map<String, String> map = list.stream().filter(Objects::nonNull).collect(Collectors.toMap(Employee::getId, Employee::getName));
如果您也想保留訂單,go 如下所述。
Map<String, String> map = list.stream().filter(Objects::nonNull).collect(Collectors.toMap(Employee::getId, Employee::getName, (oldValue, newValue) -> oldValue,LinkedHashMap::new));
如果不是這樣,如果您添加您收到的error message
將會很好,這樣將能夠為您提供詳細的幫助。
它應該是
Map<Integer, String> result1=list.stream().collect(
Collectors.toMap(Employee::getId, Employee::getName));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.