问:大家好,我被困在某个地方。我需要在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()内部,您可以根据自己的逻辑进行逻辑处理。