如何区分java中的不同Collection?

How to differentiate different Collection in java?

请说明在不同场景下如何使用不同的集合。

我的意思是说我如何区分何时使用 ListSetMap 接口。

请提供一些可以提供清晰解释的示例链接。

还有

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

"insertion order is preserved"是什么意思?

插入顺序

插入顺序保留您插入数据的顺序。

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

设置 returns 类似 {2,3,1,4,5} while list returns {1,2,3,4,5} .//保留插入顺序

何时在 Java

中使用 List、Set 和 Map

1) 如果你需要通过索引频繁访问元素,那么List是一种选择。它的实施例如如果您知道索引,ArrayList 提供更快的访问。

2) 如果你想存储元素并希望它们保持插入集合的顺序,那么再次使用 List,因为 List 是一个有序集合并保持插入顺序。

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

4) 如果您以键和值的形式存储数据,那么 Map 是最佳选择。您可以根据您的后续需要从 Hashtable、HashMap、TreeMap 中进行选择。

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

找到更多有用的信息