Java:从对象数组列表中检索记录的最小和最大年龄对象数组

时间:2016-05-02 05:48:22

标签: java

我有一个对象数组列表。 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

我可以知道如何获得这些结果

2 个答案:

答案 0 :(得分:0)

使用Comparable

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;
  }
 }
}
  • 您可以使用IndexOuter和IndexInner来访问内部数组对象。