String[] someArray = {null, "I want to start from here", "other element", "other element"};
for(int i = 1; i < someArray.length; i++)
{
System.out.println(someArray[i]);
}
有方式設定爲比設置爲null的第一個元素之外的陣列的inital索引?
在for循環中,我想設置i = 1
。
String[] someArray = {null, "I want to start from here", "other element", "other element"};
for(int i = 1; i < someArray.length; i++)
{
System.out.println(someArray[i]);
}
有方式設定爲比設置爲null的第一個元素之外的陣列的inital索引?
在for循環中,我想設置i = 1
。
不同的地點有沒有辦法設置一個數組的初始指數開始:它仍然有一個1st(索引0)元素,它恰好是null
你的情況。你總是可以從你想要的任何索引開始迭代,但是你會浪費空間。
你總是可以讓自己的類...
class WeirdIndexArray<T> {
private final T[] internalArray;
public final int firstIndex;
public final int indexBound;
public WeirdIndexArray(int firstIndex, int size){
internalArray = new T[size];
this.firstIndex = firstIndex;
indexBound = firstIndex+size;
}
public void set(int index, T item){ internalArray[index-firstIndex] = item; }
public T get(int index){ return internalArray[index-firstIndex]; }
}
而且使用它...
WeirdIndexArray<String> array = new WeirdIndexArray<>(1,3);
for(int i=1; i<array.indexBound; i++)
array.set(i,"This is item "+i);
但爲什麼將你需要擺在首位?
將第一個元素設置爲null與使用for循環遍歷數組的方式無關。
你可以將它設置爲任何東西,你可以用任何東西開始for循環。
但是,決定你不喜歡基於零的索引是沒有意義的。
這就是所有編程語言的工作原理(據我所知)。
當您希望從不同的元素開始時迭代元素的方式是更改開始索引。
for(int i = 1; i < n; i++) {
// Iteration operation
}
i
是你關心自己與唯一的事情,你應該希望比0
你這樣做的目的是什麼? – markw 2012-04-14 00:40:38
你爲什麼想這樣做?如果是像用戶類型1來引用第一個項目,那麼只需要減去1. – Wyzard 2012-04-14 00:41:01
我不知道Java,但是如果有某種方法(我懷疑),請不要這樣做。 – Ryan 2012-04-14 00:41:13