我有一个对象数组列表。 Object数组的值为“Name”& “年龄”
list 1
object arrray 1 -- ["AAA", 28]
list 2
object arrray 2 -- ["BBB", 25]
list 3
object arrray 3 -- ["CCC", 29]
list 4
object arrray 4 -- ["DDD", 18]
list 5
object arrray 5 -- ["EEE", 20]
我需要获得下面提到的最小和最大年龄记录,
result:
["CCC", 29] - max age
["DDD", 18] - min age
我可以知道如何获得这些结果
答案 0 :(得分:0)
public class CompareAge implements Comparator<YourObject> {
@Override
public int compare(YourObject o1, YourObject o2) {
return o1.getAge().compareTo(o2.getAge());
}
}
然后,对其进行排序并从ArrayList
的{{1}}中检索最后一个和第一个对象
Object
答案 1 :(得分:0)
List objects;
int max = Integer.MIN_VALUE;
int min = Integer.MAX_VALUE;
int maxIndexOuter = -1;
int minIndexOuter = -1;
int maxIndexInner = -1;
int minIndexInner = -1;
for(int i = 0 ; i < objects.length ; i++){
for(int x = 0 ; x < objects[i].length ; x++){
if(objects[i][x].age > max){
max = objects[i][x].age;
maxIndexOuter = i;
maxIndexInner = x;
}
if(objects[i][x].age < min){
min = objects[i][x].age;
minIndexOuter = i;
minIndexInner = x;
}
}
}