8つの要素を持つ配列があり、最初の要素を削除して同じ配列にコピーする必要があります。System.arraycopy(...)を使用して試しましたが、配列のサイズは変わりませんでした。
int[] array = {90,78,67,56,45,34,32,31};
System.arraycopy(array, 1, array, 0, array.length-1);
私が必要としているのは、配列は7の配列サイズで78、67、56、45、34、32、31の要素で構成されている必要があります
これを別の配列にコピーして最初の配列に割り当てることでこれを行う方法があります
int arrayB = new int[array.length-1];
System.arraycopy(array, 1, arrayB, 0, array.length-1);
array = arrayB;
しかし、これは私が望む方法ではありません。別のアレイの助けを借りずにそれを行う必要があります。
配列は固定長であるため、Java配列から要素を削除してから配列サイズを縮小することは、Javaでは不可能です。人々は、要件がそのようなものであるときはいつでも、ArrayListなどのような異なるデータ構造を使用します。
ここにはたくさんのオプションがありますが、あなたが探している一行の答えはありません。
delete-item-from-array-and-shrink-array
how-do-i-remove-objects-from-an-array-in-java
上記の質問で提示されたオプションの中で、私は個人的に答えが好きです、
org.apache.commons.langのArrayUtils.removeElement(Object []、Object)を使用するのが、これを行う最も簡単な方法です。
この場合でも、新しいサイズの新しい配列を作成して同じ参照に割り当てると、元の配列がなくなりますが、2つの配列を作成するためにアプリケーションコードは必要ありません。それが役に立てば幸い !!
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加