TreeSet实现集合中对象排序

来源:互联网 发布:googletts语音数据 编辑:程序博客网 时间:2024/05/16 11:56
package com.wzs;import java.util.*;public class UpdateStu implements Comparable<Object> {private String name;private long id;public UpdateStu(String name, long id) {this.id = id;this.name = name;}@Overridepublic int compareTo(Object o) {UpdateStu upstu = (UpdateStu) o;// int result = id > upstu.id ? 1 : (id == upstu.id ? 0 : -1);int result;if (id > upstu.id) {result = 1;} else if (id == upstu.id) {result = 0;} else {result = -1;}return result;}public static void main(String[] args) {UpdateStu stu1 = new UpdateStu("李同学", 01011);UpdateStu stu2 = new UpdateStu("陈同学", 01021);UpdateStu stu3 = new UpdateStu("王同学", 01051);UpdateStu stu4 = new UpdateStu("马同学", 01012);TreeSet<UpdateStu> tree = new TreeSet<UpdateStu>();tree.add(stu1);tree.add(stu2);tree.add(stu3);tree.add(stu4);Iterator<UpdateStu> it = tree.iterator();System.out.println("Set集合中的所有元素:");while (it.hasNext()) {UpdateStu stu = (UpdateStu) it.next();System.out.println(stu.getId() + " " + stu.getName());}it = tree.headSet(stu2).iterator();System.out.println("截取前面部分的集合:");while (it.hasNext()) {UpdateStu stu = (UpdateStu) it.next();System.out.println(stu.getId() + " " + stu.getName());}it = tree.subSet(stu2, stu3).iterator();System.out.println("截取中间部分的集合");while (it.hasNext()) {UpdateStu stu = (UpdateStu) it.next();System.out.println(stu.getId() + " " + stu.getName());}}// -- get&&set --public long getId() {return id;}public void setId(long id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}}
输出结果:Set集合中的所有元素:521 李同学522 马同学529 陈同学553 王同学截取前面部分的集合:521 李同学522 马同学截取中间部分的集合529 陈同学


0 0
原创粉丝点击