繁体   English   中英

使用Java-8 Streams API将字符串列表转换为Map

[英]Convert List of Strings into Map using Java-8 Streams API

我有名单

List<String> cars = Arrays.asList("Ford", "Focus", "Toyota", "Yaris","Nissan", "Micra", "Honda", "Civic");

现在,我可以将此List转换为Map,其中我获得ford = focus,Toyota = yaris,Nisan = Micra,Honda = Civic使用Java 8 Streams API?

这是一个如何做到这一点的例子:

 Map<String, String> carsMap =
            IntStream.iterate(0, i -> i + 2).limit(cars.size() / 2)
                    .boxed()
                    .collect(Collectors.toMap(i -> cars.get(i), i -> cars.get(i + 1)));

基本上,只需迭代每2个元素并将其映射到下一个元素。
请注意,如果元素数不均匀,则不会考虑最后一个元素。

转换列表<object>至 Map <integer, list<object> &gt; 使用 Java 8 流 API<div id="text_translate"><p> 我有List&lt;Object&gt; ,我想将其转换为Map&lt;Integer, List&lt;Object&gt;&gt; ,其中 key 是列表的大小,value 是使用 java 8 个流 api 的列表本身。 我可以使用 Java 7 作为</p><pre>Map&lt;Integer, List&lt;Object&gt;&gt; map= new HashMap&lt;&gt;(); map.put(list.size(), list);</pre><p> 但是如何使用 Java 8 来做到这一点。</p></div></integer,></object>

[英]Convert List<Object> to Map<Integer, List<Object>> using Java 8 Streams API

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM