set集合

set集合继承了collection类,他是无序的不重复的。与collection的相似程度最高,其衍生的hashSet与其稍微有点差异,其具体的体现是.

hashSet

1.无序

2.线程不同步

3.存储值可以是null

hashSet的元素存储过程中还有一个hashcode,对于每个被添加入HashSet的元素,会通过他的hashcode选择一个位置存放他,如果在集合里有一个元素的equal()方法和他返回值一样,但是hashcode的返回值不一样,那么则将他们放置在不同的位置,这一点和我们的set集合的定义有所冲突。所以使用hashset时候基本上需要重写他的hashcode和equal方法。

linkedHashSet

可以线性的将元素保存入我们的集合,元素的顺序永远和我们添加的顺序相同。性能略低于hashSet。

treeSet

可以自主的调用compareTo(Object obj)的方法将集合进行排序,与此同时我们也知道,如果想调用我们的compareTo()的方法,那么相比较的的元素必须是同一类型,也就是说,当我们希望正常的使用我们的treeSet集合的时候,我们向集合插入的元素必须是同一类型的;其一些方法如下

set集合_第1张图片

你可能感兴趣的:(set集合)