美文网首页
treeSet实现排序两种放方法

treeSet实现排序两种放方法

作者: 魂之挽歌w | 来源:发表于2017-12-12 10:19 被阅读6次

//存入TreeSet集合中的元素是无序的,但有方法给它排序

//排序方式一:让元素自身具备比较性,需元素实现Comparable接口

//核心:重写Comparable接口的方法compareTo(Object obj)

//if (tea.age == this.age) //年纪相同时再按照姓名排序!!!

//         return this.name.compareTo(tea.name);

//因为String也类实现了此接口,当然就可以调用compareTo()方法

class   Teacher    implements    Comparable {

private int age;

private  String name;

public  Teacher(intage, String name) {

this.age = age;

this.name = name;

}

public  int   getAge() {

returnage;

}

public   String getName() {

return name;

}

@Override

public  String toString() {

return"Teacher [age="+ age +", name="+ name +"]";

}

@Override

public int  compareTo(Object obj) {//按照年纪排序

Teacher tea = (Teacher) obj;

if(tea.age 

return-1;

}

if(tea.age ==this.age) {//年纪相同时再按照姓名排序!!!核心

return  this.name.compareTo(tea.name);

}

if(tea.age >this.age) {

return1;

}

return0;

}

}

publicclassTreeSetTest1 {

public    static    voidmain(String[] args) {

Teacher teac1=newTeacher(25,"lim");

Teacher teac2=newTeacher(26,"uim");

Teacher teac3=newTeacher(55,"zim");

Teacher teac4=newTeacher(55,"mim");

Teacher teac5=newTeacher(55,"cim");

TreeSet treeSet=newTreeSet();

treeSet.add(teac1);

treeSet.add(teac2);

treeSet.add(teac3);

treeSet.add(teac4);

treeSet.add(teac5);

Iterator iterator=treeSet.iterator();

while(iterator.hasNext()){

Teacher t=(Teacher) iterator.next();

System.out.println(t.getName()+"的年纪是"+t.getAge());

}

}

}

方式二:对treeSet设置conparator

相关文章

  • java_TreeSet_自定义排序与练习题

    TreeSet支持两种排序方法:自然排序和定制排序。TreeSet默认采用自然排序。 自然排序 TreeSet会调...

  • treeSet实现排序两种放方法

    //存入TreeSet集合中的元素是无序的,但有方法给它排序 //排序方式一:让元素自身具备比较性,需元素实现Co...

  • 集合框架Set----TreeSet

    TreeSet是有序的。 保存的元素会自动排序; 排序方法是依据ASII码值进行排序的。简单实现:运行结果:下面我...

  • JAVA8 TreeSet学习笔记

    TreeSet TreeSet是基于TreeMap的NavigableSet实现。使用元素的自然顺序对元素进行排序...

  • JavaSE基础 TreeSet集合(红黑树数据结构)

    本文主要介绍TreeSet集合的基本使用方法 TreeSet之自然排序 自然排序(元素具备比较性):让元素所属的类...

  • TreeSet

    项目中需要按照时间先后排序,想到了TreeSet。TreeSet实际上调用的TreeMap的put方法,排序分成两...

  • TreeSet简介

    TreeSet简介 TreeSet支持排序 基于TreeMap实现 非线程安全的 不支持get(int)来获取指定...

  • TreeSet和HashSet的区别

    TreeSet用法 TreeSet可以用于元素进行排序及保证元素唯一,可以用过对象实现Comparable接口,或...

  • Java学习笔记7

    TreeSet保证元素唯一和自然排序的原理和图解 TreeSet保证元素唯一和比较器排序的原理及代码实现 Tree...

  • TreeSet

    TreeSet的特点:1、排序:1)自然排序2)比较器排序 2、唯一:底层通过TreeMap实现了元素的唯一性。 ...

网友评论

      本文标题:treeSet实现排序两种放方法

      本文链接:https://www.haomeiwen.com/subject/lgmwixtx.html