java 集合 TreeSet
来源:互联网 发布:java构造器是什么 编辑:程序博客网 时间:2024/05/16 16:23
Student1类:
import java.util.Iterator;import java.util.Set;public class Student1 implements Comparable<Student1>{private String id;private String name;private String sex;private int age;public Student1(){}public Student1(String id,String name,String sex,int age){this.id=id;this.name=name;this.sex=sex;this.age=age;}public Student1(String id,String name,String sex){this.id=id;this.name=name;this.sex=sex;}public Student1(String id,String name){this.name=name;this.id=id;}public String getId(){return id;}@Overridepublic String toString() {return "[id=" + id + ", name=" + name + ", sex=" + sex + ", age=" + age + "]";}//如果学号相同,那就认为学生相同@Overridepublic boolean equals(Object obj){Student1 student1=(Student1)obj;return this.id.equals(student1.id);}@Overridepublic int hashCode() {// TODO Auto-generated method stub//return super.hashCode();//调用String类型的hashCode()方法return this.id.hashCode();}@Overridepublic int compareTo(Student1 o) {// TODO Auto-generated method stub//return this.id.compareTo(o.id);//按字典顺序比较学号大小:从小到大return o.id.compareTo(this.id);//从大到小排序}//遍历方法public static void printSet(Set set){System.out.println("{");for(Iterator<Student1> iterator=set.iterator();iterator.hasNext();){Student1 student1=iterator.next();System.out.print(student1+"\n");}System.out.println("}");}}测试类:
import java.util.Comparator;import java.util.Set;import java.util.TreeSet;//定制排序class StuComparator implements Comparator<Student1>{@Overridepublic int compare(Student1 o1, Student1 o2) {// TODO Auto-generated method stubreturn o1.getId().compareTo(o2.getId());//按字典顺序(从小到大)排序}}class StuComparator1 implements Comparator<Student1>{@Overridepublic int compare(Student1 o1, Student1 o2) {// TODO Auto-generated method stubreturn o2.getId().compareTo(o1.getId());//按字典顺序(从大到小)排序}}public class TreeSetTest {public static void main(String[] args) {System.out.println("使用自然排序:从大到小-----------------------------");TreeSet<Student1> students=new TreeSet<Student1>();students.add(new Student1("B1000", "小明", "male", 23));students.add(new Student1("B1001", "小明", "male", 23));students.add(new Student1("B1002", "小明", "male", 23));Student1.printSet(students);students.add(new Student1("C1002", "小明", "male", 23));students.add(new Student1("A1002", "小明", "male", 23));Student1.printSet(students);//使用定制排序System.out.println("使用定制排序:从小到大-----------------------------");Set<Student1> students1=new TreeSet<Student1>(new StuComparator());students1.add(new Student1("B1000", "小明", "male", 23));students1.add(new Student1("B1001", "小明", "male", 23));students1.add(new Student1("B1002", "小明", "male", 23));students1.add(new Student1("C1002", "小明", "male", 23));students1.add(new Student1("A1002", "小明", "male", 23));Student1.printSet(students1);System.out.println("使用定制排序:从大到小-----------------------------");Set<Student1> students2=new TreeSet<Student1>(new StuComparator1());students2.add(new Student1("B1000", "小明", "male", 23));students2.add(new Student1("B1001", "小明", "male", 23));students2.add(new Student1("B1002", "小明", "male", 23));students2.add(new Student1("C1002", "小明", "male", 23));students2.add(new Student1("A1002", "小明", "male", 23));Student1.printSet(students2);}}结果:
使用自然排序:从大到小-----------------------------
{
[id=B1002, name=小明, sex=male, age=23]
[id=B1001, name=小明, sex=male, age=23]
[id=B1000, name=小明, sex=male, age=23]
}
{
[id=C1002, name=小明, sex=male, age=23]
[id=B1002, name=小明, sex=male, age=23]
[id=B1001, name=小明, sex=male, age=23]
[id=B1000, name=小明, sex=male, age=23]
[id=A1002, name=小明, sex=male, age=23]
}
使用定制排序:从小到大-----------------------------
{
[id=A1002, name=小明, sex=male, age=23]
[id=B1000, name=小明, sex=male, age=23]
[id=B1001, name=小明, sex=male, age=23]
[id=B1002, name=小明, sex=male, age=23]
[id=C1002, name=小明, sex=male, age=23]
}
使用定制排序:从大到小-----------------------------
{
[id=C1002, name=小明, sex=male, age=23]
[id=B1002, name=小明, sex=male, age=23]
[id=B1001, name=小明, sex=male, age=23]
[id=B1000, name=小明, sex=male, age=23]
[id=A1002, name=小明, sex=male, age=23]
}
- Java 集合框架-TreeSet
- JAVA 集合类 TREESET
- Java集合之TreeSet
- java集合之TreeSet
- java中的TreeSet集合
- java集合-TreeSet
- java集合------TreeSet
- java 集合框架-TreeSet
- Java集合之TreeSet
- Java集合之TreeSet
- Java TreeSet 集合
- 集合TreeSet【java】
- 《java集合》--TreeMap、TreeSet
- Java TreeSet集合
- Java集合之TreeSet
- JAVA-TreeSet集合
- JAVA-TreeSet集合
- java 集合 TreeSet
- centos eclipse 快捷键失效
- TPshop学习(2)windows下安装Tpshop
- 完美世界招聘笔试(子序列)
- 看书手敲
- 文章标题
- java 集合 TreeSet
- H5面试----CSS 选择符有哪些
- 实现一个简陋的记事本软件
- html和css学习中遇到的一些问题
- shell 要求用户输入一个用户名,查询系统中是否存在该用户,若有打印用户存在,若不存在添加该用户
- 两个星期拆解一本书-spring实战(1)
- Aggressive cows POJ 2456 (二分,最大化最小值)
- 小K的农场题解
- B. Petya and Exam【字符串】