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);

经验分享 程序员 微信小程序 职场和发展