TEL:400-8793-956
当前位置:程序、服务器

如何对对象的数组列表进行排序?

提问者: 近期获赞: 浏览人数: 发布时间:2021-01-11 10:30:06

 问:大家好,我被困在某个地方。我需要在Java中对特定类型的对象的数组列表进行排序。请借助示例进行解释。 

 
 
答:类别1 => Person.java
公共类人员实施可比{
 
私人诠释时代;私有字符串名称;
 
public int getAge(){返回年龄;}
 
public void setAge(int age){this.age = age; }
 
public String getName(){返回名称;}
 
public void setName(String name){this.name = name; }
 
@Override public int compareTo(Person person){// TODO自动生成的方法存根if(this.age == person.age){返回0; } else if(this.age <person.age){return -1; } else {返回1;}}
 
@Override public String toString(){return“ name =>” + this.name +“,age =>” + this.age; }
 
}
 
类2 => PersonTest.java
公共类PersonTest {
 
public static void main(String [] args){// TODO自动生成的方法存根
 
人person1 =新的Person();person1.setAge(23); person1.setName(“ A”);
 
人person2 =新的Person();person2.setAge(19); person2.setName(“ B”);
 
人person3 =新的Person();person3.setAge(25); person3.setName(“ C”);
 
人person4 =新的Person();person4.setAge(22); person4.setName(“ D”);
 
人person5 =新的Person();person5.setAge(23); person5.setName(“ E”);
 
列出人员=新的ArrayList <>(); person.add(person1); person.add(person2); person.add(person3); person.add(person4); person.add(person5);
 
System.out.println(“排序前=>” + person.toString());
 
Collections.sort(persons);
 
System.out.println(“排序后=>” + person.toString());
 
}
 
}
 
答:如果要对某些对象的数组列表进行排序,则只需使用可比较的接口实现该Class并重写compareto()方法即可。在compareto()内部,您可以根据自己的逻辑进行逻辑处理。
上一篇: 无需不断查询数据库即可收听传入聊天消息的最佳方法?
下一篇: RecycleView行为异常!“ notifyItemRangeInserted(int positionStart,int itemCount)”方法花费太长时间