我正在嘗試撰寫一個方法來回傳兩個陣列中較大的一個。
List<String> firstName = new ArrayList<String>(); // size 50
List<String> lastName = new ArrayList<String>(); // size 1000
我想比較它們的大小并回傳一個更大的陣列。像這樣的東西。
public List<String> largerArray (List firstName, List lastName) {
return max.size(firstName, lastName);
}
uj5u.com熱心網友回復:
public List<String> largerArray (List firstName, List lastName) {
return firstName.size() > lastName.size() ? firstName : lastName;
}
雖然你的用例不是很清楚。如果 firstName 是一個串列,那么理想情況下它必須被命名為 firstNames,如果不是這種情況,那么我不確定你到底想在那里做什么
uj5u.com熱心網友回復:
您可以比較大小,然后選擇要回傳的串列。另外,在訪問實體方法之前不要忘記檢查串列是否為空(.size())
public List<?> largerArray (List<?> l1, List<?> l2) {
int lengthOfL1 = l1 == null ? 0 : l1.size();
int lengthOfL2 = l2 == null ? 0 : l2.size();
return (lengthOfL1 > lengthOfL2) ? l1 : l2;
}
注意:通過使用通配符 ( ?),您可以接受任意兩個串列,因此您可以將字串串列與整數串列進行比較,如果這是您想要的
uj5u.com熱心網友回復:
撰寫一個靜態泛型方法來比較兩個相同型別的串列。
List<Integer> list1 = List.of(1,2,3,4);
List<Integer> list2 = List.of(1,2,3,4,5);
List<Integer> result = getLargest(list1,list2);
System.out.println(result);
印刷
[1, 2, 3, 4, 5]
- 使用三元運算子進行比較
- 如果它們大小相等,則回傳
list2.
public static <T> List<T> getLargest(List<T> list1, List<T> list2) {
Objects.requireNonNull(list1);
Objects.requireNonNull(list2);
return list1.size() > list2.size() ? list1 : list2;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/484435.html
標籤:爪哇
上一篇:一組相同的緩沖影像
