如何在 Java 中獲取原始陣列的一部分?
可以透過多種方式在兩個指定索引之間獲取 Java 陣列的一部分。
透過複製內容
一種方法是建立一個空陣列,將原始陣列的內容從 startIndex 複製到 endIndex。
示例
import java.util.Arrays;
public class SlicingAnArray {
public static int[] sliceArray(int array[], int startIndex, int endIndex ){
int size = endIndex-startIndex;
int part[] = new int[size];
//Copying the contents of the array
for(int i=0; i<part.length; i++){
part[i] = array[startIndex+i];
}
return part;
}
public static void main(String args[]){
int intArray[] = {12, 14, 58, 225, 56, 96 , 3, 45, 8 };
intArray = sliceArray(intArray, 3, 7);
System.out.println(Arrays.toString(intArray));
}
}輸出
[225, 56, 96, 3]
使用 copyOfRange() 方法
java.util.Arrays 類的 copyOfRange() 方法接受一個數組、兩個表示 startIndex 和 endIndex 的整數,並返回給定陣列中在指定索引之間的一部分。
示例
即時演示
import java.util.Arrays;
public class SlicingAnArray {
public static void main(String args[]){
int intArray[] = {12, 14, 58, 225, 56, 96 , 3, 45, 8 };
intArray = Arrays.copyOfRange(intArray, 3, 7);
System.out.println(Arrays.toString(intArray));
}
}輸出
[225, 56, 96, 3]
使用 Java8 資料流
即時演示
import java.util.Arrays;
import java.util.stream.IntStream;
public class SlicingAnArray {
public static int[] sliceArray(int array[], int startIndex, int endIndex ){
int size = endIndex-startIndex;
int part[] = new int[size];
IntStream stream = IntStream.range(startIndex, endIndex).map(i->array[i]);
part = stream.toArray();
//Copying the contents of the array
for(int i=0; i<part.length; i++){
part[i] = array[startIndex+i];
}
return part;
}
public static void main(String args[]){
int intArray[] = {12, 14, 58, 225, 56, 96 , 3, 45, 8 };
intArray = sliceArray(intArray, 3, 7);
System.out.println(Arrays.toString(intArray));
}
}輸出
[225, 56, 96, 3]
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP