有没有一种在这里使用Java泛型的方法,所以我的方法可以取List<Double>or或List<Pair<Double, Double>>?
private Map<Integer, Double> getValuesMap(int indexBegin, int indexEnd, List<Double> values) {
Map<Integer, Double> map = new LinkedHashMap<>();
if (indexBegin <= indexEnd) {
for (int i = indexBegin; i <= indexEnd; i++) {
map.put(i, values.get(i));
}
} else {
for (int i = indexBegin; i >= indexEnd; i--) {
map.put(i, values.get(i));
}
}
return map;
}
Run Code Online (Sandbox Code Playgroud)
将泛型添加到您的班级并按以下方式使用它,
public class Test<T> {
private Map<Integer, T> getValuesMap(int indexBegin, int indexEnd, List<T> values) {
Map<Integer, T> map = new LinkedHashMap<>();
if (indexBegin <= indexEnd) {
for (int i = indexBegin; i <= indexEnd; i++) {
map.put(i, values.get(i));
}
} else {
for (int i = indexBegin; i >= indexEnd; i--) {
map.put(i, values.get(i));
}
}
return map;
}
}
Run Code Online (Sandbox Code Playgroud)
更新:您也可以使用通用方法,
private <T> Map<Integer, T> getValuesMap(int indexBegin, int indexEnd, List<T> values)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
60 次 |
| 最近记录: |