List的类类型排序

 public class BattleBallerStatInfo : IComparable<BattleBallerStatInfo> {

  public int score ;

  public int datespeed;

  public int datecurrentspeed;







        public int CompareTo(BattleBallerStatInfo other) {
            if (other.score > score) {
                return 1;
            }
            if (other.score == score) {
                return 0;
            }
            return -1;
        }

    }


将类 BattleBallerStatInfo 类型的对象:放入list之后,直接list.sort。可以直接对类中score进行排序。 。注意,重写了接口 Icomparabel。

在Java中,List本身是一个接口,它不能直接进行排序,但是我们可以通过List接口的实现比如ArrayList或LinkedList来对其中的元素进行排序。Java提供了一个非常有用的Collections,它包含了一个静态方法sort,可以对List接口的实现实例进行排序。默认情况下,sort方法使用的是元素类型的自然排序规则,这就要求列表中的元素必须实现Comparable接口。 具体步骤如下: 1. 确保你的列表元素实现了Comparable接口,并且实现了compareTo方法,这样可以定义元素之间的自然顺序。 2. 创建一个List实例,并添加元素。 3. 使用Collections.sort()方法对List进行排序。 例如,如果我们有一个包含字符串的List,我们可以按照字典顺序进行排序: ```java List<String> list = new ArrayList<>(); list.add("banana"); list.add("apple"); list.add("cherry"); Collections.sort(list); ``` 排序后,list中的元素将按照字典顺序排列。 除了自然排序外,我们还可以通过提供一个Comparator来实现自定义的排序规则。Comparator允许我们对不支持自然排序的对象进行排序。 下面是一个使用Comparator对自定义对象列表进行排序的例子: ```java import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; class Person { String name; int age; public Person(String name, int age) { this.name = name; this.age = age; } } public class TestSort { public static void main(String[] args) { ArrayList<Person> list = new ArrayList<>(); list.add(new Person("Alice", 30)); list.add(new Person("Bob", 25)); list.add(new Person("Charlie", 35)); Collections.sort(list, new Comparator<Person>() { @Override public int compare(Person p1, Person p2) { // 按年龄排序 return Integer.compare(p1.age, p2.age); } }); } } ``` 在上面的例子中,我们通过一个匿名Comparator,定义了按照年龄排序的规则。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值