import java.util.HashMap;
import java.util.Map;

public class StringToMap {
    public static void main(String[] args) {
        String str = '《红楼梦》-曹雪芹,《西游记》-吴承恩,《三国演义》-罗贯中,《水浒传》-施耐庵';
        String[] books = str.split(',');
        Map<String, String> map = new HashMap<>();

        // 方法一:传统的for循环遍历
        for (int i = 0; i < books.length; i++) {
            String[] book = books[i].split('-');
            map.put(book[0], book[1]);
        }
        for (Map.Entry<String, String> entry : map.entrySet()) {
            System.out.println(entry.getKey() + ':' + entry.getValue());
        }

        // 方法二:使用forEach方法遍历
        map.clear();
        for (String book : books) {
            String[] pair = book.split('-');
            map.put(pair[0], pair[1]);
        }
        map.forEach((key, value) -> System.out.println(key + ':' + value));

        // 方法三:使用Stream API遍历
        map.clear();
        Arrays.stream(books)
                .map(b -> b.split('-'))
                .forEach(pair -> map.put(pair[0], pair[1]));
        map.entrySet().stream()
                .forEach(entry -> System.out.println(entry.getKey() + ':' + entry.getValue()));
    }
}

输出结果如下:

《红楼梦》:曹雪芹
《西游记》:吴承恩
《三国演义》:罗贯中
《水浒传》:施耐庵
《红楼梦》:曹雪芹
《西游记》:吴承恩
《三国演义》:罗贯中
《水浒传》:施耐庵
《红楼梦》:曹雪芹
《西游记》:吴承恩
《三国演义》:罗贯中
《水浒传》:施耐庵
Java 字符串提取到 Map 集合并遍历 - 三种方法

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

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