我有一個帶有兩個參數(name, value)
的對象的ArrayList
。我也有一個ArrayList
不同類型的對象與另外兩個參數(value, suit)
。每個用戶對應(通過索引0-3)與第二個列表中具有相同索引的對象。在第二個ArrayList中查找具有最高值的第一個ArrayList的成員
我需要找到價值在SECOND列表中最高的用戶。
我該如何簡潔地做到這一點?我覺得我在這裏錯過了一些簡單的東西。
我有一個帶有兩個參數(name, value)
的對象的ArrayList
。我也有一個ArrayList
不同類型的對象與另外兩個參數(value, suit)
。每個用戶對應(通過索引0-3)與第二個列表中具有相同索引的對象。在第二個ArrayList中查找具有最高值的第一個ArrayList的成員
我需要找到價值在SECOND列表中最高的用戶。
我該如何簡潔地做到這一點?我覺得我在這裏錯過了一些簡單的東西。
假設你的名字 - 值元組類型爲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);
謝謝艾略特! – howck 2014-11-03 17:15:35
@howck如果回答你的問題,請[接受](http://meta.stackexchange.com/a/5235/243725)。 – 2014-11-03 17:16:33
後一些代碼。你試過什麼了? – Rockstar 2014-11-03 04:40:21