Java 字符串提取到 Map 集合并遍历 - 三种方法
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()));
}
}
输出结果如下:
《红楼梦》:曹雪芹
《西游记》:吴承恩
《三国演义》:罗贯中
《水浒传》:施耐庵
《红楼梦》:曹雪芹
《西游记》:吴承恩
《三国演义》:罗贯中
《水浒传》:施耐庵
《红楼梦》:曹雪芹
《西游记》:吴承恩
《三国演义》:罗贯中
《水浒传》:施耐庵
原文地址: https://www.cveoy.top/t/topic/nyVG 著作权归作者所有。请勿转载和采集!