gpt4 book ai didi

java - 使用 java Collections 比较和排序不同类型的对象

转载 作者:搜寻专家 更新时间:2023-10-31 08:29:59 24 4
gpt4 key购买 nike

如何使用 java Collections 比较和排序不同类型的对象。下面是用例:例如狗、人、树、电脑、机器——所有这些不同的对象都有一个共同的属性,比如“int lifeTime”。现在我想根据 lifeTime 属性对这些对象进行排序

谢谢

最佳答案

所有这些对象都应该有一个共同的抽象类/接口(interface),例如Alive用一种方法 getLifeTime() , 你可以选择 Alive延伸Comparable<Alive>或创建您自己的 Comparator<Alive> .

public abstract class Alive extends Comparable<Alive>{
public abstract int getLifeTime();
public int compareTo(Alive alive){
return 0; // Or a negative number or a positive one based on the getLifeTime() method
}
}

或者

public interface Alive {
int getLifeTime();
}

public class AliveComparator implements Comparator<Alive>{
public int compare(Alive alive1, Alive alive2){
return 0; // Or a negative number or a positive one based on the getLifeTime() method
}
}

下一步是使用自动排序的集合 ( TreeSet<Alive> ) 或对 List<Alive> 进行排序与 Collections.sort() .


资源:

关于java - 使用 java Collections 比较和排序不同类型的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3845755/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com