java 排序


package net.assist.action.handle;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class MySort {

public static void main(String[] args) {
Student s1 = new Student();
s1.setAge(12);
s1.setName("zhangsan");

Student s2 = new Student();
s2.setAge(13);
s2.setName("lisi");

Student s3 = new Student();
s3.setAge(10);
s3.setName("wangwu");

List<Student> list = new ArrayList<Student>();
list.add(s1);
list.add(s2);
list.add(s3);

// 原顺序
for (Student s : list) {
System.err.println(s.getAge());
}

Student[] students = new Student[list.size()];
Arrays.sort(list.toArray(students));

// 内部排序后
for (Student s : students) {
System.err.println(s.getAge());
}

// 外部排序
Collections.sort(list, new StudentComparator());
for (Student s : list) {
System.err.println(s.getAge());
}

}
}

/**
* 内部排列
*/
class Student implements Comparable<Student> {
private String name;
private int age;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

/**
* 内部排序
*/
@Override
public int compareTo(Student o) {
if (this.age > o.getAge()) {
return 1;
} else if (this.age < o.getAge()) {
return -1;
}
return 0;
}

}

/**
* 外部排序
*/
class StudentComparator implements Comparator<Student> {

@Override
public int compare(Student o1, Student o2) {
if (o1.getAge() > o2.getAge()) {
return 1;
} else if (o1.getAge() < o2.getAge()) {
return -1;
}
return 0;
}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值