简体   繁体   English

如何使用 Java stream 收集来创建 map,而不是 ZA8CFFDE6331BD59EB666AC9C

[英]How do I use Java stream collect to create a map with a String as the key instead of object?

I have the following...我有以下...

public Map<Object, Integer> getRankings(){
    Stream<String> stream = votes.stream();
    Map<Object, Integer> map = stream
            .collect(Collectors.toMap(s -> s, s -> 1, Integer::sum));
    return Vote.sortByValues(map);
}

But I would like the return type to be Map<String, Integer> instead.但我希望返回类型改为Map<String, Integer> How do I coerce the Object to a String ?如何将Object强制为String

Since you have a Stream<String> , it can be inferred by just declaring the map with a key type of String :由于您有一个Stream<String> ,因此可以通过使用String键类型声明 map 来推断它:

Map<String, Integer> map =
    stream.collect(Collectors.toMap(s -> s, s -> 1, Integer::sum));

There's no problem in this:这没有问题:

public Map<String, Integer> getRankings(){
    Stream<String> stream = votes.stream();
    Map<String, Integer> map = stream
            .collect(Collectors.toMap(s -> s, s -> 1, Integer::sum));
    return Vote.sortByValues(map);
}

如何转换 ArrayList<string> 至 ArrayList<object> using.collect(Collectors.toList() 在 Java stream<div id="text_translate"><p> 如何在 Java stream 中使用.collect(Collectors.toList()将ArrayList&lt;String&gt;转换为ArrayList&lt;Object&gt;</p><p> 之前我用过</p><pre>CommonList = detailUtils.SelectIDValueGetterObservable(getActivity()).stream().forEach(i -&gt; CommonList.add(new foo(i));`</pre><p> 但是我遇到了这些<strong>副作用</strong></p><p> <a href="https://docs.oracle.com/javase/8/docs/api/java/util/stream/package-summary.html" rel="nofollow noreferrer">https://docs.oracle.com/javase/8/docs/api/java/util/stream/package-summary.html</a></p><p> 这建议.collect(Collectors.toList()</p><p> 我们该怎么做</p></div></object></string> - How can I convert ArrayList<String> to ArrayList<Object> using .collect(Collectors.toList() in Java stream

暂无
暂无

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

相关问题 使用流将Java <Object>收集到Java 8中的Map <String,List <Object >> - Collect List<Object> to Map<String, List<Object>> in Java 8 using stream How do I create a Map using Java stream API when the key is a different class attribute? - How do I create a Map using Java stream API when the key is a different class attribute? 使用 stream 在 map 上按 object 的字段收集 - Use the stream to collect on the map by the fields of the object 如何转换 ArrayList<string> 至 ArrayList<object> using.collect(Collectors.toList() 在 Java stream<div id="text_translate"><p> 如何在 Java stream 中使用.collect(Collectors.toList()将ArrayList&lt;String&gt;转换为ArrayList&lt;Object&gt;</p><p> 之前我用过</p><pre>CommonList = detailUtils.SelectIDValueGetterObservable(getActivity()).stream().forEach(i -&gt; CommonList.add(new foo(i));`</pre><p> 但是我遇到了这些<strong>副作用</strong></p><p> <a href="https://docs.oracle.com/javase/8/docs/api/java/util/stream/package-summary.html" rel="nofollow noreferrer">https://docs.oracle.com/javase/8/docs/api/java/util/stream/package-summary.html</a></p><p> 这建议.collect(Collectors.toList()</p><p> 我们该怎么做</p></div></object></string> - How can I convert ArrayList<String> to ArrayList<Object> using .collect(Collectors.toList() in Java stream 如何使用Stream的collect()按字符串列表的内容进行分组? - How do i group by the contents of a string list using collect() of a Stream? 如何在java 8流上运行嵌套收集 - How do I run nested collect on java 8 stream 在flatMap返回List <Object>而不是List <String>之后收集Java Stream - Java Stream collect after flatMap returns List<Object> instead of List<String> Java 流收集到 Map <String, Map<Integer, MyObject> &gt; - Java stream collect to Map<String, Map<Integer, MyObject>> How can I use Java Stream in order to iterate on a collection on object and use a specific string field of each object to create a new array? - How can I use Java Stream in order to iterate on a collection on object and use a specific string field of each object to create a new array? Java 8 过滤器和列表收集<Map<String, Object> &gt; - Java 8 Filter and Collect of List<Map<String, Object>>
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM