簡體   English   中英

使用for循環來移動一個字符數組

[英]Using for loops to shift an array of characters

我創建了一個看起來像的char[]

[A, A, B, C]

我想刪除最后一個字符,然后將其他字符向上移動一個並在第一個索引處存儲一個新char 所以它看起來像這樣:

[D, A, A, B]

我如何使用一個或兩個for loops來做到這一點。 我有正確的想法,我只是沒有正確實現它。

char[] array = new char[4]; //Array looks like [A, A, B, C]

for(int i = 0; i <= array.length - 2; i++) {
    array[i] = array[i + 1];
}
array[0] = 'D'; //This should be the new char at index 0.

從數組的結尾到開頭迭代會更有意義:

char[] array = new char[4]; //Array looks like [A, A, B, C]

for(int i = array.length - 1; i > 0; i--) {
    array[i] = array[i - 1];
}
array[0] = 'D';

如此小的尺寸使用數組是可以的。

只是指出另一種方法,您可以使用LinkedList

LinkedList list = new LinkedList<Character>(Arrays.asList('A', 'A', 'B', 'C'));
System.out.println(list); // prints "[A, A, B, C]"
list.removeLast();
list.addFirst('D');
System.out.println(list); // prints "[D, A, A, B]"

暫無
暫無

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

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