开发时如何选择集合?
1、单个元素进行存储选择单列集合(List、Set),成对元素进行存储选择双列集合(Map)
2、看元素是否需要唯一?
2.1唯一选择Set集合(Set集合不能存储重复元素,且元素无索引)
2.1.1看元素是否需要默认顺序?
2.1.1.1需要排序使用TreeSet集合(唯一性依靠红黑树)
2.1.1.2不需要排序使用HashSet集合(唯一性依靠哈希表)
2.1.2需要元素存储有序使用LinkedHashSet集合
2.2不唯一选择List集合(List集合可以存储重复元素,且元素有索引)
2.2.1是否需要频繁增删操作?
2.2.1.1需要就使用LinkedList集合
2.2.1.2不需要就使用ArrayList集合
HashSet是如何保证元素的唯一性的?
HashSet在存储元素时,先调用HashCode方法将要存储的元素计算成相应的Hash值;如果Hash值相等,则不存储元素;如果不相等,则调用equals方法比较每个元素是否相等,如果每个元素都不相等,则存储元素,如果有元素相等,则不存储元素。
原文:https://www.cnblogs.com/-star/p/13363644.html