如何使用Streams&Lambda Java8将List <Object []>转换为Map <String,BigInteger>

Rob*_*Rob 3 java java-8 java-stream

我有以下数据:

List<Object[]> result=fromDB();
Run Code Online (Sandbox Code Playgroud)

如何使用Java 8中的Streams编写下面的代码?

Map<String,BigInteger> map= new HashMap<>();
for (Object[] obj : result) {
    map.put((String)obj[0], (BigInteger)obj[1])
}
Run Code Online (Sandbox Code Playgroud)

Tun*_*aki 5

Map<String, BigInteger> map =
    fromDB().stream()
            .collect(Collectors.toMap(
                o -> (String) o[0],
                o -> (BigInteger) o[1],
                (b1, b2) -> b2
            ));
Run Code Online (Sandbox Code Playgroud)