Avatar ·

如何在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 -> 书名"对的列表。