Java中ArrayList 元素的排序

简介: 本文提供了Java中根据`ArrayList`元素的某个属性进行排序的示例代码,包括实现`Comparable`接口和重载`compareTo`方法,然后使用`Collections.sort`方法进行排序。

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

相关文章
|
22天前
|
存储 算法 Java
Arraylist 在 Java 中能容纳多少个元素?
【8月更文挑战第23天】
45 0
|
4天前
|
Java 编译器 测试技术
|
22天前
|
Java
如何在 Java 中使 Arraylist 匿名?
【8月更文挑战第23天】
29 0
|
22天前
|
存储 Java 编译器
|
22天前
|
存储 Java API
|
24天前
|
存储 Java 索引
【Java集合类面试二十四】、ArrayList和LinkedList有什么区别?
ArrayList基于动态数组实现,支持快速随机访问;LinkedList基于双向链表实现,插入和删除操作更高效,但占用更多内存。
|
23天前
|
存储 Java 索引
Java 中 ArrayList 和 LinkedList 之间的区别
【8月更文挑战第22天】
49 1
|
4月前
|
存储 安全 Java
java面试基础 -- ArrayList 和 LinkedList有什么区别, ArrayList和Vector呢?
java面试基础 -- ArrayList 和 LinkedList有什么区别, ArrayList和Vector呢?
48 0
|
4月前
|
存储 安全 Java
[Java] 阿里一面~说一下ArrayList 与 LinkedList 区别
[Java] 阿里一面~说一下ArrayList 与 LinkedList 区别
143 1
|
4月前
|
存储 Java 索引
Java集合框架:ArrayList和LinkedList的区别是什么?
Java集合框架:ArrayList和LinkedList的区别是什么?
38 0