簡體   English   中英

如何使用.collect(Collectors.joining) 將 Map 轉換為字符串

[英]How can I use .collect(Collectors.joining) to convert Map into String

我的方法應該返回帶有 map 值的字符串。 但問題是下面代碼的output是

一些單詞示例

代替

一些 - 2,單詞 - 6,示例 - 4

public static void main(String[] args) {
        Map<String, Integer> myMap = new HashMap<>();
        myMap.put("Some", 2);
        myMap.put("Example", 4);
        myMap.put("Word", 6);

        System.out.println(countWords(myMap));
    }

        public static String countWords(Map<String, Integer> stringIntegerHashMap) {
        String result = stringIntegerHashMap.entrySet().stream()
                .map(e -> e.getKey())
                .collect(Collectors.joining("\r\n"));
        return result;
    }

現在在map中,您只保留密鑰,您需要將密鑰與值連接起來

public static String countWords(Map<String, Integer> stringIntegerHashMap) {
    return stringIntegerHashMap.entrySet().stream()
            .map(e -> e.getKey() + " - " + e.getValue())
            .collect(Collectors.joining("\r\n"));
}
Some-2
Word-6
Example-4

Collectors.joining(...)僅負責使用分隔符加入Stream元素。 然而,在給定的情況下,我們必須首先 map Stream元素,即Map.Entry s,在“正確的格式"<key> - <value>"中。 為此,我們修改Stream::map

public static String countWords(Map<String, Integer> stringIntegerHashMap) {
  return stringIntegerHashMap.entrySet().stream()
      .map(entry -> entry.getKey() +  " - " + entry.getValue())
      .collect(Collectors.joining("\r\n"));
}

Ideone 演示

如何轉換 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM