ArrayList 是一种 List 实现,它的内部用一个动态数组来存储元素,因此 ArrayList
能够在添加和移除元素的时候进行动态的扩展和缩减。
很多时候我们需要对ArrayList进行排序,我看其他人写的有点乱就总结如下实例
package sortstudy;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
public class Test implements Comparable<Test>{
String name;
int num;
public Test(String name,int num) {
this.name=name;
this.num=num;
}
@Override
public String toString() { //重载toString函数方便输出看
return "name="+name+" num="+num;
}
@Override //核心代码一:重载compareTo函数,记得添加Comparable<Test>接口
public int compareTo(Test t) {
return (this.num>t.num?1:(this.num==t.num?0:-1));//升序
}
public static void main(String[] args) {
//插入数据
List<Test>test=new ArrayList<>();
test.add(new Test("风落", 100));
test.add(new Test("风落1", 110));
test.add(new Test("风落2", 10));
test.add(new Test("风落3", 1100));
Collections.sort(test);//核心代码二排序
for(int i=0;i<test.size();i++)
{
System.out.println(test.get(i).toString());
}
}
}
第一步:增加 implements Comparable接口
第二步:重载compareTo函数
第三步:输入数据后执行Collections.sort(test);