java的set集合简单排序
2012-06-22 18:45
357 查看
在使用ssh框架的时候,bean层反倒出来的一对多,一的那段存的是多的一端的set集合。set是无序的,所以我们要使用TreeSet进行排序,使用步骤大概是:
首先,在我们的bean实现Comparable接口的compareTo()方法;
其次,在使用Set集合的时候不在使用new HashSet()了,而是使用new TreeSet();
只要我们的bean实现了Comparable接口,并且我们存入TreeSet的对象是同一个类型,在存入TreeSet的时候它会自动调用我们的compareTo()方法进行排序,而不需要多余的操作。
小例子:
public class Attendance implements Comparable {
private Integer attId;
public Integer getAttId() {
return this.attId;
}
public void setAttId(Integer attId) {
this.attId = attId;
}
public String toString(){
return " 编号="+this.attId;
}
//实现接口
public int compareTo(Object o) {
Attendance a=(Attendance)o;
return this.attId-a.attId;
}
//测试的main方法
public static void main(String[] args){
Attendance atta=new Attendance();
atta.setAttId(30);
Attendance attb=new Attendance();
attb.setAttId(25);
Attendance attc=new Attendance();
attc.setAttId(23);
Attendance attd=new Attendance();
attd.setAttId(22);
Attendance atte=new Attendance();
atte.setAttId(21);
Set s=new TreeSet(new ArrayList());
s.add(atte);
s.add(atta);
s.add(attc);
s.add(attb);
s.add(attd);
System.out.println(s);
}
}
首先,在我们的bean实现Comparable接口的compareTo()方法;
其次,在使用Set集合的时候不在使用new HashSet()了,而是使用new TreeSet();
只要我们的bean实现了Comparable接口,并且我们存入TreeSet的对象是同一个类型,在存入TreeSet的时候它会自动调用我们的compareTo()方法进行排序,而不需要多余的操作。
小例子:
public class Attendance implements Comparable {
private Integer attId;
public Integer getAttId() {
return this.attId;
}
public void setAttId(Integer attId) {
this.attId = attId;
}
public String toString(){
return " 编号="+this.attId;
}
//实现接口
public int compareTo(Object o) {
Attendance a=(Attendance)o;
return this.attId-a.attId;
}
//测试的main方法
public static void main(String[] args){
Attendance atta=new Attendance();
atta.setAttId(30);
Attendance attb=new Attendance();
attb.setAttId(25);
Attendance attc=new Attendance();
attc.setAttId(23);
Attendance attd=new Attendance();
attd.setAttId(22);
Attendance atte=new Attendance();
atte.setAttId(21);
Set s=new TreeSet(new ArrayList());
s.add(atte);
s.add(atta);
s.add(attc);
s.add(attb);
s.add(attd);
System.out.println(s);
}
}
相关文章推荐
- java的Set、Map、Deque集合;实现排序
- java基础之对List,Map,Set等集合键值对的简单认识
- Java基础知识强化之集合框架笔记46:Set集合之TreeSet存储自定义对象并遍历练习2(自然排序)
- Java集合(set,map)的排序和HashCode方法详解
- Java基础之TreeSet集合使用泛型、比较器排序示例:
- Java集合排序及java集合类详解:Set
- 深入Java集合学习系列:ConcurrentHashSet简单实现
- 小小的总结一下java异常处理和List、ArrayList、Vector、Set、HashSet、TreeSet集合的简单应用
- Java集合排序及java集合类详解--(Collection, List, Set, Map)
- Java集合排序及java集合类详解:Set
- Java集合排序及java集合类详解--(Collection, List, Set, Map)
- Java中集合框架,Collection接口、Set接口、List接口、Map接口,已经常用的它们的实现类,简单的JDK源码分析底层实现
- Java基础知识强化之集合框架笔记44:Set集合之TreeSet保证元素唯一性和自然排序的原理和图解
- java--解决矩形排序(Set集合运用)
- java 集合框架(TreeSet操作,自动对数据进行排序,重写CompareTo方法)
- java基础—自定义一个比较器,对TreeSet 集合中的元素按指定方法来排序(java集合六)
- JAVA基础再回首(十七)——Set集合、增强for、HashSet类、LinkedHashSet类、TreeSet类、二叉树、Comparator 排序
- Java集合(set,map)的排序和HashCode方法详解
- Java-集合排序(TreeSet)
- Java基础知识强化之集合框架笔记45:Set集合之TreeSet存储自定义对象并遍历练习1(自然排序)