虽然可以将地图用作列表,但这样做有一定的缺点。
维护顺序:
-按定义排序列表。您添加项目,然后您可以按照插入项目的顺序遍历列表。将项目添加到HashMap时,不能保证以与放入项目相同的顺序检索这些项目。HashMap的子类(如linkedHashMap)将保持该顺序,但通常不能保证Map的顺序。
键/值语义: -映射的目的是基于键存储项目,该键可在以后用于检索项目。只有在键恰巧是列表中位置的有限情况下,列表才能实现类似的功能。
代码的可读性 请考虑以下示例。
// Adding to a List list.add(myObject); // adds to the end of the list map.put(myKey, myObject); // sure, you can do this, but what is myKey? map.put("1", myObject); // you could use the position as a key but why? // Iterating through the items for (Object o : myList)// nice and easy for (Object o : myMap.values()) // more pre and the order is not guaranteed
集合功能 通过Collections类可以为列表提供一些出色的实用程序功能。例如 …
// Randomize the list Collections.shuffle(myList); // Sort the list Collections.sort(myList, myComparator);
希望这可以帮助,
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)