何时在Java中使用Map而不是List?
2022-09-01 12:23:51
我没有理解Java中的Maps。何时建议使用地图而不是列表?
假设你有一堆学生的名字和学生ID。如果将它们放在列表中,则查找student_id = 300 的学生的唯一方法是查看列表的每个元素,一次查看一个,直到找到合适的学生。
使用 Map,您可以关联每个学生的 ID 和学生实例。现在你可以说,“给我300个学生”,然后立即让那个学生回来。
当您需要从集合中选取特定成员时,请使用 Map。当没有必要使用列表时,请使用列表。
假设您有完全相同的学生实例,但您的任务是生成所有学生姓名的报告。您可以将他们放在列表中,因为无需挑选和选择单个学生,因此也不需要地图。
Java 映射:将键映射到值的对象。映射不能包含重复的键;每个键最多可以映射到一个值。
Java 列表:有序集合(也称为序列)。此界面的用户可以精确控制每个元素在列表中的插入位置。用户可以按元素的整数索引(列表中的位置)访问元素,并在列表中搜索元素。
不同之处在于它们是不同的。映射是键/值的映射,是项目列表的列表。