如何在java中区分不同的Collection?

时间:2015-04-23 03:04:07

标签: java collections

请解释在不同情况下如何使用不同的集合。

我的意思是说如何区分何时使用ListSetMap界面。

请提供一些可以提供明确解释的示例链接。

另外

    if insertion order is preserved then we should go for List.
    if insertion order is not preserved then we should go for Set.

“保存插入顺序”是什么意思?

1 个答案:

答案 0 :(得分:1)

广告订单

广告订单会保留您插入数据的顺序。

例如,您已插入数据{1,2,3,4,5}

设置返回类似{2,3,1,4,5}的内容 而list返回{1,2,3,4,5}。//它保留了插入顺序

何时使用Java中的列表,设置和地图

1)如果您需要使用索引频繁访问元素,那么List是一种可行的方法。它的实施例如如果你知道索引,ArrayList提供更快的访问。

2)如果你想存储元素并希望它们维护它们被插入到集合中的顺序,那么再次转到List,因为List是一个有序的集合并维护插入顺序。

3)如果您想创建独特元素的集合并且不想要任何重复元素,那么请选择任何Set实现,例如HashSet,LinkedHashSet或TreeSet。所有Set实施遵循一般合同,例如唯一性,但也添加添加功能,例如TreeSet是一个SortedSet,存储在TreeSet上的元素可以使用Comparator或Comparable in Java进行排序。 LinkedHashSet还维护插入顺序。

4)如果您以密钥和值的形式存储数据,那么Map就是您的选择。您可以根据后续需求从Hashtable,HashMap,TreeMap中进行选择。

您可以在http://java67.blogspot.com/2013/01/difference-between-set-list-and-map-in-java.html

找到更多有用的信息