目录
0、定义
树集采用树结构存储数据,树节点中的数据会按存放数据的“大小”顺序一层层依次排列。
1、示例代码
实现Comparable接口的元素类。
package xyz.jangle.base;
public class Student2 implements Comparable<Student2> {
private String name;
private int english;
public Student2(String name, int english) {
super();
this.name = name;
this.english = english;
}
@Override
public int compareTo(Student2 o) {
//如果不判断值相等的情况,后元素无法被添加
if(this.english - o.english ==0)
return 1;
else
return this.english - o.english;
}
public String getName() {
return name;
}
public int getEnglish() {
return english;
}
}
树集的使用demo
package xyz.jangle.base;
import java.util.Iterator;
import java.util.TreeSet;
/**
* TreeSet demo
* 树集
* @author Administrator
*
*/
public class Example13_8 {
public static void main(String[] args) {
TreeSet<Student2> treeSet = new TreeSet<Student2>();
Student2 s1 = new Student2("A", 60);
Student2 s2 = new Student2("B", 80);
Student2 s3 = new Student2("C", 70);
Student2 s4 = new Student2("D", 90);
treeSet.add(s1);
treeSet.add(s2);
treeSet.add(s3);
treeSet.add(s4);
Iterator<Student2> iterator = treeSet.iterator();
while(iterator.hasNext()) {
Student2 next = iterator.next();
System.out.println(next.getName()+","+next.getEnglish());
}
System.out.println("----------");
for(Student2 s:treeSet) {
System.out.println(s.getName()+","+s.getEnglish());
}
}
}
输出结果:
A,60
C,70
B,80
D,90
----------
A,60
C,70
B,80
D,90
java的TreeSet是使用TreeMap实现的。