请解释在不同情况下如何使用不同的集合。
我的意思是说如何区分何时使用List
,Set
或Map
界面。
请提供一些可以提供明确解释的示例链接。
另外
if insertion order is preserved then we should go for List.
if insertion order is not preserved then we should go for Set.
“保存插入顺序”是什么意思?
答案 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
找到更多有用的信息