在Java中将List <object>转换为Map <k,v>

时间:2018-06-10 19:35:51

标签: java list collections java-8

我将获得List列表格式的结果,我将处理以获取Map。 Twist是内部列表将包含2种不同类型的对象。类型K的对象将在索引0上,而另一个类型为V的对象将在索引1上。

List<Object> lst = new ArrayList<>();
lst.add(new KeyObject());  
lst.add(new ValueObject()); 

List<List> res = new ArrayList<>();
res.add(lst); 

现在我要构建一个Map&lt; K,V>从上面 res 列表使用java 8方法。有什么建议吗?

1 个答案:

答案 0 :(得分:4)

假设is_current = (freq_table != 0).astype(int) df_bef -= is_current 是您提到的res类型,以下是您获取结果的方法:

List<List<Object>>

其中Map<K, V> result = res.stream() .collect(Collectors.toMap(e -> (K)e.get(0), e -> (V)e.get(1))); 是您的密钥的实际类型,而K实际类型的值。