标签:equal == bsp code student tor 不重复 包括 有一个
一.总体分类
LinkedList
ArrayList
Vector---Stack
2. Set
HashSet
TreeSet
二.集合------Set(无序,不可重复)
无法获取索引位置,所以遍历时不能用for的普通方法,只能用增强for循环和迭代器。
HashSet hs=new HashSet();
1.HashSet
HashSet如何判断元素重复呢
我们可以在Student类中重写HashCode和equals的方法
@override public int hashCode(){ final int prime=31;//源码是定义一个素数用来做乘法 int result=1; result=prime*result+age; return result; } @override public boolean equals(Object obj){ if(this==obj) return true; }
例子:谁发了邮件,一个人发了很多次,找谁给我发了邮件。(此时就用到了不重复的hashSet)
2.TreeSet
虽然也是不能重复,也是无序,但是TreeSet的无序是按照自然顺序排放的。并且数据类型必须相同。
TreeSet ts=new TreeSet();
方法一:类继承Comparable接口
@override public int compareTo(Object o){ Student s=(Student)o; return s.age-age; } //当前类属性-参数类属性------升序,反之,降序 @override public String toString(){ return "fsadjnfaake"; }
方法二:用匿名内部类的方式,重写接口的方法
Comparator c=new Comparator(){ @override public int compare(Object o1,Object o2){ Student s1=(Student)o1; Student s2=(Student)o2; return s1.getAge()-s2.getAge(); } }
标签:equal == bsp code student tor 不重复 包括 有一个
原文地址:https://www.cnblogs.com/anzhilanxiao/p/10587346.html