gpt4 book ai didi

java - 在 Java 中将流转换为字符串

转载 作者:搜寻专家 更新时间:2023-11-01 01:31:06 24 4
gpt4 key购买 nike

我想将 Map<> 的 Stream 转换为 String,并将其附加到 textArea。我尝试了一些方法,最后一个是使用 StringBuilder,但它们不起作用。

public <K, V extends Comparable<? super V>> String sortByAscendentValue(Map<K, V> map, int maxSize) {

StringBuilder sBuilder = new StringBuilder();

Stream<Map.Entry<K,V>> sorted =
map.entrySet().stream()
.sorted(Collections.reverseOrder(Map.Entry.comparingByValue()));

BufferedReader br = new BufferedReader(new InputStreamReader((InputStream) sorted));
String read;

try {
while ((read=br.readLine()) != null) {
//System.out.println(read);
sBuilder.append(read);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

sorted.limit(maxSize).forEach(System.out::println);

return sBuilder.toString();
}

最佳答案

您可以将条目收集到单个 String 中,如下所示:

  String sorted =
map.entrySet().stream()
.sorted(Collections.reverseOrder(Map.Entry.comparingByValue()))
.map(e-> e.getKey().toString() + "=" + e.getValue().toString())
.collect(Collectors.joining (","));

关于java - 在 Java 中将流转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56885649/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com