什么时候在 Java 中使用 Map 而不是 List?

新手上路,请多包涵

我不了解 Java 中的地图。什么时候建议使用 Map 而不是 List?

原文由 JBeg 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 446
2 个回答

Java 映射:将键映射到值的对象。地图不能包含重复的键;每个键最多可以映射到一个值。

Java 列表:有序集合(也称为序列)。该界面的用户可以精确控制每个元素在列表中的插入位置。用户可以通过整数索引(在列表中的位置)访问元素,并在列表中搜索元素。

不同之处在于它们是不同的。 Map 是键/值的映射,是项目列表的列表。

原文由 Chris 发布,翻译遵循 CC BY-SA 4.0 许可协议

假设您有一群有姓名和学生 ID 的学生。如果将它们放在一个列表中,找到 student_id = 300 的学生的唯一方法是查看列表的每个元素,一次一个,直到找到正确的学生。

使用地图,您可以将每个学生的 ID 与学生实例相关联。现在你可以说,“给我找学生 300”,然后立即找回那个学生。

当您需要从集合中挑选特定成员时,请使用 Map。当没有意义时使用列表。

假设您有完全相同的学生实例,但您的任务是生成一份包含所有学生姓名的报告。你会把他们放在一个列表中,因为不需要挑选个别学生,因此也不需要地图。

原文由 Tony Ennis 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题