collections.sort()

collections.sort();简单用法

在做集合的一些操作的时候,排序那是必不可少的,各种各样的排序多不胜数,一般我们在集合里面放的都是基本数据类型,这样的排序号做,但是在处理集合里面放置对象的时候,把对象排序这个就有点问题了,不过没关系,没有解决不了的问题,只有想不到的问题。这就用到了collections.sort()方法。

例子:两个对象根据ID排序,大的在后,小的在前。

Sutdent.java

公共类Student {
 private int id;
 私人字符串名称;
 public int getId(){
  return id;
 }
 public void setId(int id){
  this.id = id;
 }
 public String getName(){
  return name;
 }
 public void setName(String name){
  this.name = name;
 }
}

主类

//创建对象ST1并赋值

学生st1 =新生();
  st1.setId(1);
  st1.setName( “WO1”);

//创建对象ST2并赋值

  学生st2 =新生();
  st2.setId(2);
  st2.setName( “WO2”);

//把两个对象添加到数组里面
  列表li = new ArrayList();
  li.add(ST2);
  li.add(ST1);

//遍历li数组
  Iterator it = li.iterator();
  while(it.hasNext())
  {
   Student stu =(Student)it.next();
   的System.out.println(stu.getId());
  }

//调用方法,完成排序,这里建MyComper类
  Collections.sort(li,new MyComper());
  的System.out.println( “排序后:”);
  Iterator it2 = li.iterator();
  while(it2.hasNext())
  {
   Student stu =(Student)it2.next();
   的System.out.println(stu.getId());
   }

MyComper.java

//实现比较接口,重写比较方法为1时,换位置

公共类MyComper实现比较器{

 @Override
 public int compare(Student o1,Student o2){
  // TODO自动生成的方法存根
  int stu1 = o1.getId();
  int stu2 = o2.getId();
  如果(stu1> stu2)
  {
   return 1;
  } else
  {
   return 0;
  }
  
 }

}

运行主函数类,输出结果:

2

1

排序后:

1

2

猜你喜欢

转载自blog.csdn.net/thedarkclouds/article/details/80480628