Set:无序、不可重复(去重)、存储value
Set中没有新增方法,就是使用的Collection集合的抽象方法。
无序性:
不可重复性:
要求元素所在类必须重写两个方法:equals()、hashCode()。同时,保证equals()和hashCode()的一致性!即都返回true或false,建议使用IDEA自动完成重写。
添加到TreeSet中的元素必须是同一个类型的对象,否则会报ClassCastException(类型转换异常)。
添加的元素需要考虑排序:①自然排序 ②定制排序
不再使用hashCode()和equals()方法判断,这就意味着添加到TreeSet的元素所在类不需要重写hashCode()和equals()方法
比较标准:
hashSet底层使用的hashCode进行比较,效率更高。
/**
* 将List去重后返回List
* 1.遍历List将器存入Set(完成去重)
* 2.遍历Set存入新的List并返回
*/
public static List test(List list){HashSet set = new HashSet();for(Object obj : list){set.add(obj)}List newList = new ArraryList();for(Object obj : set){newList.add(obj);}return newList;
}
简化代码:构造器内部自动完成遍历赋值操作
public static List test(List list){HashSet set = new HashSet(list);List newList = new ArraryList(set);return newList;
}
上一篇:k8s 概念说明,k8s面试题