Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从数组中的指定值开始?_Java - Fatal编程技术网

Java 如何从数组中的指定值开始?

Java 如何从数组中的指定值开始?,java,Java,例如: 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]); } String[]someArray={null,“我想从这里开始”,“其他元素”,“其他元素”}; for(int i=1;i

例如:

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]);
}
String[]someArray={null,“我想从这里开始”,“其他元素”,“其他元素”};
for(int i=1;i
除了将第一个元素设置为null之外,还有其他方法可以设置数组的初始索引吗


在for循环中,我想设置
I=1

将第一个元素设置为null与使用for循环迭代数组的方式无关

您可以将其设置为任何值,也可以使用任何值启动for循环

然而,决定不喜欢基于零的索引是没有意义的


这就是所有编程语言的工作原理(据我所知)。

当您希望从不同的元素开始时,迭代元素的方法是更改起始索引

for(int i = 1; i < n; i++) {
    // Iteration operation
}
for(int i=1;i

i
是您唯一关心的事情,如果您希望从不同于0的位置开始。

无法设置数组的初始索引:它仍然有第一个(索引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]; }
}
class WeirdIndexArray{
私有最终T[]内部数组;
公共最终指数;
公开最终国际指数;
公共WeirdIndexArray(int firstIndex,int size){
internalArray=新的T[大小];
this.firstIndex=firstIndex;
INDEXBOND=第一个索引+大小;
}
公共无效集(int索引,T项){internalArray[index firstIndex]=item;}
公共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);
WeirdIndexArray数组=新的WeirdIndexArray(1,3);

对于(int i=1;i)你这样做的目标是什么?你为什么要这样做?如果这就像让用户类型1引用第一项,只需减去1。我不懂Java,但如果有一种方法(我怀疑),就不要这样做。好吧,也许这真的不是最好的方法…改变了决定