你可以使用Stream流的collect()方法来完成这个需求。首先,创建一个Stream流,包含所有的数据。然后,使用collect()方法来收集数据到一个Map集合中。

下面是一个示例代码:

import java.util.*;
import java.util.stream.Collectors;

public class Main {
    public static void main(String[] args) {
        List<String> names = Arrays.asList('刘备字玄德', '诸葛亮字孔明', '曹操字孟德', '孙权字仲谋', '关羽字云长', '张飞字翼德', '赵云字子龙', '乐进字文谦', '李典字曼成', '曹仁字子孝', '曹洪字子廉');

        Map<String, String> map = names.stream()
                .collect(Collectors.toMap(
                        name -> name.split('字')[0], // 键为名字
                        name -> name.split('字')[1] // 值为字号
                ));

        // 打印结果
        map.forEach((name, word) -> System.out.println(name + ':' + word));
    }
}

运行结果:

赵云:子龙
曹仁:子孝
刘备:玄德
关羽:云长
曹操:孟德
曹洪:子廉
诸葛亮:孔明
李典:曼成
乐进:文谦
孙权:仲谋
张飞:翼德

在这个示例中,我们首先创建了一个名字的列表names。然后,使用stream()方法将列表转换成一个Stream流。接着,使用collect()方法来收集数据到一个Map集合中。Collectors.toMap()方法接受两个函数作为参数,第一个函数用于生成Map集合的键,第二个函数用于生成Map集合的值。在这个示例中,我们使用split()方法来分割每个名字,将名字作为键,字号作为值。最后,我们使用forEach()方法来打印Map集合的内容。

使用Java Stream流将姓名和字号存入Map集合

原文地址: https://www.cveoy.top/t/topic/nhtw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录