很抱歉,如果这是一个愚蠢的问题,但我有以下方法......
static <V> V[] getRange(V[] arr, V val, int range) {
ArrayList<V> inRange = new ArrayList<>();
int index = -1;
for (int i = 0; i < arr.length; i++)
if (arr[i] == val)
index = i;
for (int i = 0; i < arr.length; i++)
if (Math.abs(i - index) <= range)
inRange.add(arr[i]);
return (V[]) inRange.toArray();
}
使用此方法,您应该能够提供元素和范围,并返回具有附近值的数组。例如在psuedocode中这应该发生什么。
getRange({1,2,3,4,5,6}, 5, 2) = {3,4,5,6}
但是,如果我尝试将此方法与int一起使用,则会收到以下消息:
myType类型中的方法getRange(V [],V,int)不是 适用于参数(int [],int,int)