TreSet的有序唯一性

<pre name="code" class="java">二叉树分为先序遍历,中序遍历,后序遍历 在此不详细列出

 
 
import java.util.Comparator;
import java.util.TreeSet;

/*
 * 存储学生对象,要求保证唯一和排序(按照学生的姓名长度从长到短)。
 */
public class TreeSetTest {
	public static void main(String[] args) {
		//创建集合对象
		TreeSet<Student> treeSet = new TreeSet<Student>(new Comparator<Student>() {
			@Override
			public int compare(Student s1, Student s2) {
				// 主要操作
				int num = s2.getName().length() - s1.getName().length();
				// 次要条件
				int num2 = num == 0 ? s1.getName().compareTo(s2.getName())
						: num;
				int num3 = num2 == 0 ? s1.getAge() - s2.getAge() : num2;
				return num3;
			}

		});
//存储学生对象,要求保证唯一和排序(按照学生的姓名长度从长到短)。
		
		// 创建学生对象
		Student s1 = new Student("baigujing", 20);
		Student s2 = new Student("zixixianzi", 22);
		Student s3 = new Student("guanyinjiejie", 18);
		Student s4 = new Student("tangseng", 20);
		Student s5 = new Student("bailongma", 20);
		Student s6 = new Student("niumowang", 24);
		Student s7 = new Student("taibaijinxing", 55);
		Student s8 = new Student("change", 18);
		Student s9 = new Student("change", 18);
		Student s10 = new Student("zixixianzi", 22);
		// 添加元素
		treeSet.add(s1);
		treeSet.add(s2);
		treeSet.add(s3);
		treeSet.add(s4);
		treeSet.add(s5);
		treeSet.add(s6);
		treeSet.add(s7);
		treeSet.add(s8);
		treeSet.add(s9);
		treeSet.add(s10);
  

		// 遍历
		for (Student s : treeSet) {
			System.out.println(s.getName() + "---" + s.getAge());
		}
	}
}


你可能感兴趣的:(TreSet的有序唯一性)