簡體   English   中英

Java:在向右移動項目的同時將元素插入數組

[英]Java: Inserting an Element into an array while moving items to the right

假設我有一個數組: {5, 7, 8, 9, 10} 但是,我想插入一個元素,使數組變為{5, 6, 7, 8, 9}57之間插入6 ,將10移出並將9向右移動。

如何使用數組和 for 循環來解決這個問題?

數組是非常低級的構造,沒有為您執行此操作的方法。 ArrayList做了哪些應該用於這樣的工作。

如果,作為純粹的學術練習,永遠不應該將其投入生產,那么您對 ​​ArrayList 的作者如何做出這樣的事情感到好奇:

通過...只是...做它。

分解步驟並執行所有步驟。

Starting state: [5, 7, 8, 9, 10]
 Desired state: [5, 6, 7, 8, 9 ]

換句話說,我們需要將 7/8/9 復制到新位置以騰出空間。 完成后,我們可以編寫6。

int[] in = {5, 7, 8, 9, 10};
// Copy starting from index 1 (second number)
// Copy into the same array, at index 2.
// ... and copy 3 numbers.
System.arraycopy(in, 1, in, 2, 3);
System.out.println(Arrays.toString(in));
// Prints: [5, 7, 7, 8, 9].
in[1] = 6;
System.out.println(Arrays.toString(in));
// Prints: [5, 6, 7, 8, 9].

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM