java - 你将如何在 java8 中将方法转换为单行

标签 java collections java-8 java-stream

我有以下方法将单线转换为 map

想用java8把它转成单行语句

输入竖线分隔的字符串 例如。: 状态:我的状态|数据1:值1

public Map<String, String> getMap(String attributeUpdate){
    Map<String, String> attr = new HashMap<>();
    if(StringUtils.isNotEmpty(attributeUpdate)){
        List<String> a = Arrays.asList(attributeUpdate.split("\\|"));
        for (String s : a) {
            String[] key_val = s.split(":");
            if(key_val.length == 2) {
                attr.put(key_val[0], key_val[1]);
            }
        }
    }
    return attr;
}

最佳答案

请尝试以下代码。它工作正常。

String s = new String("status:MYSTATUS|data1:value1");
Arrays.stream(s.split("\\|")).map(stringArray -> stringArray.split(":"))
        .filter(stringArray -> stringArray.length == 2)
        .collect(Collectors.toMap(stringArray ->stringArray[0], stringArray-> stringArray[1],(oldvalue,newvalue)->newvalue));

谢谢

关于java - 你将如何在 java8 中将方法转换为单行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62080019/

相关文章:

jpa - 如何使用JPA将对象中的Collections/List持久化

java - IntelliJ + JUnit 5(木星)

java - 使用哪种 HTTP 方法?

java - Android上的HttpURLConnection什么时候真正调用请求

java - 为什么Java中没有WeakList和WeakSet的实现?

loops - 集合中的元素在打印时被截断 - Smalltalk

java - 在 Windows 10 : Java SE Development Kit (JDK) was not found on this computer 中安装 Netbeans 时出现问题

java - Tomcat 8.5 内存

java - 从泛型类型获取枚举类?

java.lang.RuntimeException : Unable to instantiate activity. ... java.lang.InstantiationException: 类没有零参数构造函数