如何在Java中将Map转换为List?需要所有值、键或键值对
大家好!我是Java新手,遇到了将Map转换为List的问题。
我有一个HashMap,存储书籍数据:键是ISBN(String),值是书名(String)。我需要将所有书名以列表形式输出,以便传递给另一个只接受List的方法。
我尝试直接强制转换类型,但编译器报错。这是我的代码:
```java
Map books = new HashMap<>();
books.put("978-5-699-12014-7", "战争与和平");
books.put("978-5-17-089834-0", "罪与罚");
books.put("978-5-04-091034-4", "大师与玛格丽特");
List titles = (List) books.values(); // 错误!
```
我得到了ClassCastException。我知道values()返回的是Collection,而不是List。那么如何正确获取列表呢?
此外,我可能需要:
1. 所有键(ISBN)的列表。
2. 所有值(书名)的列表。
3. 每个元素都是"ISBN -> 书名"对的列表。