查找第二个ArrayList中具有最高值的第一个ArrayList的成员

时间:2014-11-03 04:39:08

标签: java arraylist compare

我有ArrayList个具有两个参数(name, value)的对象。我还有ArrayList个不同类型的对象,其中有两个参数(value, suit)。每个用户(通过索引0-3)与具有相同索引的第二列表中的对象相对应。

我需要找到在SECOND列表中值最高的用户。

我怎样才能简明扼要地这样做?我觉得我在这里错过了一些简单的东西。

1 个答案:

答案 0 :(得分:0)

假设您的名称 - 元组元组类型为NameValue,并假设您的其他元组类型为ValueSuit,则可能会执行类似的操作,

List<NameValue> firstList;
List<ValueSuit> secondList;
// ... firstList and secondList initialized ...

首先,在第二个列表中获取最大值。

int maxValue = secondList.get(0).getValue();
for (ValueSuit vs : secondList) {
  maxValue = Math.max(maxValue, vs.getValue());
}

然后找到相应的NameValue

NameValue out = null;
for (NameValue nv : firstList) {
  if (nv.getValue() == maxValue) {
    out = nv;
  }
}
System.out.println(out);