java通过stream实现字符串与map互转
2023-12-22 23:00:20
题目如下
String data = "1:a,2:b,3:c";
1.编写一个方法将以上格式的字符串转换为一个map, key为:前的字符串, value为:后的字符串, 键值对用,分隔;
2.编写一个方法将上面生成的map还原成原始字符串,对key进行倒序
要求使用stream进行处理
这个string和map互转的问题如果不用?stream 会有很多方式处理,但是用了stream也有很多方式,但是想了一个完全用stream处理的方式如下
import java.util.Comparator;
import java.util.Map;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class TestData {
public static void main(String[] args) {
/**
*
* String data = "1:a,2:b,3:c";
* 1.编写一个方法将以上格式的字符串转换为一个map, key为:前的字符串, value为:后的字符串, 键值对用,分隔;
* 2.编写一个方法将上面生成的map还原成原始字符串,对key进行倒序
* 要求使用stream进行处理
*
*/
String data = "3:c,1:a,4:d,2:b";
Map<String, String> map = Stream.of(data.split(",")).map(s -> s.split(":")).collect(Collectors.toMap(key -> key[0], value -> value[1]));
System.out.println(map);
String s1 = map.entrySet().stream().sorted(Map.Entry.comparingByKey(Comparator.reverseOrder())).map(entry -> String.join(":", entry.getKey(), entry.getValue())).collect(Collectors.joining(","));
System.out.println(s1);
}
}
执行结果为
{1=a, 2=b, 3=c, 4=d}
4:d,3:c,2:b,1:a
文章来源:https://blog.csdn.net/zlpzlpzyd/article/details/135160664
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!