代码如下:

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()));
    }
}

输出结果如下:

《红楼梦》:曹雪芹
《西游记》:吴承恩
《三国演义》:罗贯中
《水浒传》:施耐庵
《红楼梦》:曹雪芹
《西游记》:吴承恩
《三国演义》:罗贯中
《水浒传》:施耐庵
《红楼梦》:曹雪芹
《西游记》:吴承恩
《三国演义》:罗贯中
《水浒传》:施耐庵
``
、分析以下需求并完成代码 现有字符串信息如下请将字符串中的书名提取为Map集合的键将作者提取为Map集合的值 并使用三种不同方式遍历Map集合打印键值对元素内容 《红楼梦》-曹雪芹《西游记》-吴承恩《三国演义》-罗贯中《水浒传》-施耐庵

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

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