Set是不重复的集合:
HashSet:根据HashCode来判断元素是否重复,无序。
TreeSet:根据compare方法判断大小,有顺序。代码如下:
/**
* @author E-mail:
* @version 创建时间:2018/5/14 10:58 AM
* 类说明
*/
public class Number1
implements Comparable<Number1> {
int max;
int min;
int index;
public int getMax() {
return max;
}
public void setMax(int max) {
this.max = max;
}
public int getMin() {
return min;
}
public void setMin(int min) {
this.min = min;
}
public int getIndex() {
return index;
}
public void setIndex(int index) {
this.index = index;
}
public Number1(int a, int b, int c) {
this.min = a;
this.max = b;
this.index = c;
}
@Override
public int compareTo(Number1 o) {
return Integer.compare(this.max - this.min, o.max - o.min);
}
}
import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;
/**
* @author E-mail:
* @version 创建时间:2018/5/14 10:57 AM
* 类说明
*/
public class Test {
public static void main(String[] argv) {
TreeSet set = new TreeSet<Number1>();
Number1 number1 = new Number1(1, 5, 1);
Number1 number2 = new Number1(1, 3, 2);
Number1 number3 = new Number1(3, 12, 3);
Number1 number4 = new Number1(2, 3, 4);
set.add(number1);
set.add(number2);
set.add(number3);
set.add(number4);
for (Iterator<Number1> iterator = set.iterator(); iterator.hasNext(); ) {
System.out.print(iterator.next().getIndex() + " ");
}
}
}