我网上差了半天,都是有add的过程,add时候就对该set进行排序了。
我想知道,如果我这个set已经添加完了,我直接取到的是个无序的set集合,怎么对该set进行排序。
谢谢~~~~~
http://topic.csdn.net/t/20050428/13/3973303.html
他这个方法在我这里好像执行不行,不知道是什么原因?
我想知道,如果我这个set已经添加完了,我直接取到的是个无序的set集合,怎么对该set进行排序。
谢谢~~~~~
http://topic.csdn.net/t/20050428/13/3973303.html
他这个方法在我这里好像执行不行,不知道是什么原因?
解决方案 »
- 急!!!急!!!如何使用http header传递信息???
- java中怎么判断按钮重叠了?
- java.lang.NoSuchMethodError 达人们出手相救阿!
- 到底环境变量有什么用?
- 美女求救,进者都散分!!!
- 我的jdbc驱动有问题
- 我想问一下java的事件驱动机制是如何实现的,如何实现自定义的事件驱动?不够再加100!
- java入门问题,谢谢回答
- 有哪位大虾对MySql比较熟悉呀,我怎么连接不上数据库啊?
- 协作开发:NetCaller(基于java技术的点对点聊天程序)
- PipedOutputStream
- 学习struts 中遇到一个问题,高手来帮忙解决下(小弟不胜感激,想了几天了)
public class SetSort { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Set<String> aa = new TreeSet<String>();
aa.add("b");
aa.add("a");
aa.add("d");
System.out.println(aa);//结果是[a, b, d]
} } 首先说一下他里面的错误,
要用new TreeSet(new Comparator()) 的方式来实例化一个set的话,这个接口必须要实现的方法是compare而不是compareTo。
其它的正常,下面是我用他的方法的一个实验,你可以看一下。
public class User { private String aa; /**
* @return the aa
*/
public String getAa() {
return aa;
} /**
* @param aa the aa to set
*/
public void setAa(String aa) {
this.aa = aa;
} } public class asdf { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
User user1 = new User();
User user2 = new User();
User user3 = new User();
user1.setAa("11");
user2.setAa("22");
user3.setAa("88"); Set set = new TreeSet(new Comparator() {
public int compare(Object o1, Object o2) {//compare方法不是compareTo
// 在这里来比较o1和o2,它们的类型就是你的类了,如:
User u1 = (User) o1;
User u2 = (User) o2;
return u1.getAa().compareTo(u2.getAa());
}
}); set.add(user2);//22
set.add(user3);//88
set.add(user1);//11 Iterator it=set.iterator();//一个迭代器,用来证明已经排序了,和add的顺序不同
while(it.hasNext()){
User ss=(User)it.next();
System.out.println(ss.getAa());//结果为11 22 88
} } }