Java中ArrayList 元素的排序
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);