我希望能够将arr1中的“b”,“d”和“e”仅复制到arr2中,并在添加时动态增加arr2的大小。
我尝试添加了一个if条件。
但它仍然将arr1中的所有内容复制到arr2中。
我尝试添加了一个if条件。
if(!arr1[i].equals("a") && !arr1[i].equals("c")) {
arr2 = Arrays.copyOf(arr1, i + incrementLength);
}
但它仍然将arr1中的所有内容复制到arr2中。
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
String[] arr1 = new String[] { "a", "b", "c", "d", "e" };
String[] arr2 = new String[0];
int incrementLength = 1;
for (int i = 0; i < arr1.length; i++) {
if(!arr1[i].equals("a") && !arr1[i].equals("c")) {
arr2 = Arrays.copyOf(arr1, i + incrementLength);
}
}
for (String value : arr2) {
System.out.println(value);
}
}
}
Stream
,filter
,toArray
然后 ;-) - RolandArrays.copyOf()
将数组截断以适应其中的元素。 - Ole V.V.