推薦答案
在Java中,要將一個數組截取到一個新數組,可以使用Arrays類中的copyOfRange方法或使用System.arraycopy方法。以下是使用這兩種方法進行數組截取的示例:
1.使用Arrays.copyOfRange方法:
int[] sourceArray = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int startIndex = 2; // 起始索引(包含)
int endIndex = 7; // 結束索引(不包含)
int[] newArray = Arrays.copyOfRange(sourceArray, startIndex, endIndex);
在上述示例中,我們將sourceArray數組從索引2開始截取到索引7之前的部分,并將結果存儲在newArray數組中。結果為newArray = {3, 4, 5, 6, 7}。
2.使用System.arraycopy方法:
int[] sourceArray = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int startIndex = 2; // 起始索引(包含)
int length = 5; // 截取長度
int[] newArray = new int[length];
System.arraycopy(sourceArray, startIndex, newArray, 0, length);
在上述示例中,我們使用System.arraycopy方法將sourceArray數組從索引2開始截取長度為5的部分,并將結果存儲在newArray數組中。結果為newArray = {3, 4, 5, 6, 7}。
無論是使用Arrays.copyOfRange方法還是System.arraycopy方法,都可以實現數組的截取操作。需要注意的是,截取的起始索引是包含在內的,而截取的結束索引是不包含在內的。通過適當設置起始索引和結束索引,可以截取到所需的數組部分,并存儲到新的數組對象中。
其他答案
-
在Java中,要進行數組的截取操作,可以使用Arrays類中的copyOfRange方法或使用循環遍歷數組自行實現截取邏輯。以下是使用這兩種方法進行數組截取的示例:
1.使用Arrays.copyOfRange方法:
int[] sourceArray = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int startIndex = 2; // 起始索引(包含)
int endIndex = 7; // 結束索引(不包含)
int[] newArray = Arrays.copyOfRange(sourceArray, startIndex, endIndex);
通過傳入原數組、截取的起始索引和結束索引,Arrays.copyOfRange方法會創建一個新數組并返回截取的部分,存儲在newArray中。在上述示例中,結果為newArray = {3, 4, 5, 6, 7}。
2.使用循環遍歷實現:
int[] sourceArray = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int startIndex = 2; // 起始索引(包含)
int endIndex = 7; // 結束索引(不包含)
int length = endIndex - startIndex;
int[] newArray = new int[length];
for (int i = startIndex, j = 0; i < endIndex; i++, j++) {
newArray[j] = sourceArray[i];
}
通過使用循環遍歷,我們可以從原數組中截取需要的部分,并將其存儲在新的數組newArray中。在上述示例中,結果同樣為newArray = {3, 4, 5, 6, 7}。
無論是使用Arrays.copyOfRange方法還是自行實現遍歷邏輯,都可以實現數組的截取操作。需要注意的是,起始索引是包含在截取范圍內的,而結束索引則是不包含的。通過合理設置起始索引和結束索引,可以實現對數組的截取操作,并將所需部分存儲在新的數組中。
-
在Java中,要對數組進行截取操作,可以使用Arrays類的copyOfRange方法、ArrayList類的subList方法或使用循環遍歷數組自行實現截取邏輯。以下是使用這三種方法進行數組截取的示例:
1.使用Arrays.copyOfRange方法:
int[] sourceArray = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int startIndex = 2; // 起始索引(包含)
int endIndex = 7; // 結束索引(不包含)
int[] newArray = Arrays.copyOfRange(sourceArray, startIndex, endIndex);
通過傳入原始數組、起始索引和結束索引,Arrays.copyOfRange方法將返回一個包含截取部分的新數組。在上述示例中,截取的結果為newArray = {3, 4, 5, 6, 7}。
2.使用ArrayList的subList方法:
int[] sourceArray = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int startIndex = 2; // 起始索引(包含)
int endIndex = 7; // 結束索引(不包含)
List
list = Arrays.stream(sourceArray).boxed().collect(Collectors.toList()); List
subList = list.subList(startIndex, endIndex); 通過將原始數組轉換為ArrayList,并使用subList方法指定起始索引和結束索引,可以獲取到截取后的子列表。在上述示例中,截取的結果為[3, 4, 5, 6, 7]。
3.使用循環遍歷實現:
int[] sourceArray = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int startIndex = 2; // 起始索引(包含)
int endIndex = 7; // 結束索引(不包含)
int length = endIndex - startIndex;
int[] newArray = new int[length];
for (int i = startIndex, j = 0; i < endIndex; i++, j++) {
newArray[j] = sourceArray[i];
}
通過使用循環遍歷,我們可以從原數組中截取所需部分,并將其存儲在新的數組newArray中。在上述示例中,截取的結果同樣為newArray = {3, 4, 5, 6, 7}。
通過以上三種方法,我們可以實現數組的截取操作。無論是使用Arrays.copyOfRange方法、ArrayList的subList方法還是自行實現循環遍歷邏輯,都可以有效地截取所需的數組部分,并將其存儲在新的數組或列表對象中。