Java 从数组中删除零值

Java 从数组中删除零值,java,android,arrays,Java,Android,Arrays,我有一个具有零值的数组,我希望将此数组复制到其他数组,但不包含零值。如果由于我不知道有多少个零而无法确定数组大小,如何执行此操作。请注意,由于各种原因,我无法使用List或ArrayList // frame is the original array final int[] sorted = new int[??]; for (int i = 0; i < frame.length; i++) { if (frame[i] != 0) { sorted[i]

我有一个具有零值的数组,我希望将此数组复制到其他数组,但不包含零值。如果由于我不知道有多少个零而无法确定数组大小,如何执行此操作。请注意,由于各种原因,我无法使用List或ArrayList

// frame is the original array

final int[] sorted = new int[??];

for (int i = 0; i < frame.length; i++) {
    if (frame[i] != 0) {
        sorted[i] = frame[i];
    }
}
//帧是原始数组
最终整数[]排序=新整数[];
for(int i=0;i
我不知道有多少零

那你为什么不出去呢

int counter = 0;
for (int i = 0; i < frame.length; i++) {
    if (frame[i]==0){
        counter++;
    }
}
int计数器=0;
for(int i=0;i
我不知道有多少零

那你为什么不出去呢

int counter = 0;
for (int i = 0; i < frame.length; i++) {
    if (frame[i]==0){
        counter++;
    }
}
int计数器=0;
for(int i=0;i
我不知道有多少零

那你为什么不出去呢

int counter = 0;
for (int i = 0; i < frame.length; i++) {
    if (frame[i]==0){
        counter++;
    }
}
int计数器=0;
for(int i=0;i
我不知道有多少零

那你为什么不出去呢

int counter = 0;
for (int i = 0; i < frame.length; i++) {
    if (frame[i]==0){
        counter++;
    }
}
int计数器=0;
for(int i=0;i
您可以制作一个与您测试的阵列大小相同的新阵列。然后迭代数组,对于找到的每个非零值,添加它,同时增加一个计数器,该计数器将表示找到的非零值元素的数量。在此之后,您可以使用它创建一个新数组,在其中复制您的值,或者在迭代新数组时简单地使用计数器作为上限。

您可以创建一个与您测试的数组大小相同的新数组。然后迭代数组,对于找到的每个非零值,添加它,同时增加一个计数器,该计数器将表示找到的非零值元素的数量。在此之后,您可以使用它创建一个新数组,在其中复制您的值,或者在迭代新数组时简单地使用计数器作为上限。

您可以创建一个与您测试的数组大小相同的新数组。然后迭代数组,对于找到的每个非零值,添加它,同时增加一个计数器,该计数器将表示找到的非零值元素的数量。在此之后,您可以使用它创建一个新数组,在其中复制您的值,或者在迭代新数组时简单地使用计数器作为上限。

您可以创建一个与您测试的数组大小相同的新数组。然后迭代数组,对于找到的每个非零值,添加它,同时增加一个计数器,该计数器将表示找到的非零值元素的数量。在此之后,您可以使用它创建一个新数组,在其中复制您的值,或者在迭代新数组时简单地使用计数器作为上限。

如果必须使用数组,您可以这样做:

int j = 0;

for (int i = 0; i < frame.length; i++) {
    if (frame[i]!=0) {
        j++
    }
}

final int[] sorted = new int[j];
j = 0;
for (int i = 0; i < frame.length; i++) {
    if (frame[i]!=0) {
        sorted[j] = frame[i];
        j++;
    }
}
intj=0;
for(int i=0;i
如果必须使用数组,您可以这样做:

int j = 0;

for (int i = 0; i < frame.length; i++) {
    if (frame[i]!=0) {
        j++
    }
}

final int[] sorted = new int[j];
j = 0;
for (int i = 0; i < frame.length; i++) {
    if (frame[i]!=0) {
        sorted[j] = frame[i];
        j++;
    }
}
intj=0;
for(int i=0;i
如果必须使用数组,您可以这样做:

int j = 0;

for (int i = 0; i < frame.length; i++) {
    if (frame[i]!=0) {
        j++
    }
}

final int[] sorted = new int[j];
j = 0;
for (int i = 0; i < frame.length; i++) {
    if (frame[i]!=0) {
        sorted[j] = frame[i];
        j++;
    }
}
intj=0;
for(int i=0;i
如果必须使用数组,您可以这样做:

int j = 0;

for (int i = 0; i < frame.length; i++) {
    if (frame[i]!=0) {
        j++
    }
}

final int[] sorted = new int[j];
j = 0;
for (int i = 0; i < frame.length; i++) {
    if (frame[i]!=0) {
        sorted[j] = frame[i];
        j++;
    }
}
intj=0;
for(int i=0;i
我知道如何在给定约束条件下执行此操作的唯一方法是先计数,然后处理:

unsigned int nonZeroCount = 0;

// Count the amount of non-zero values
for (int i = 0; i < frame.length; i++){
    if (frame[i]!=0)
        nonZeroCount++;
}

// Create the NEW Array
final int[] sorted = new int[nonZeroCount];

// NEXT add them to your new array, Need to have 2 separate counters, 1 for your initial array,
// Another for where you are placing it within your new array
unsigned int anotherCount = 0;
for (int i = 0; i < frame.length; i++){
    if (frame[i]!=0){
        sorted[anotherCount ] = frame[i];
        anotherCount++;
    }
}
无符号整数非零计数=0;
//计算非零值的数量
for(int i=0;i
我知道如何在给定约束条件下执行此操作的唯一方法是先计数,然后处理:

unsigned int nonZeroCount = 0;

// Count the amount of non-zero values
for (int i = 0; i < frame.length; i++){
    if (frame[i]!=0)
        nonZeroCount++;
}

// Create the NEW Array
final int[] sorted = new int[nonZeroCount];

// NEXT add them to your new array, Need to have 2 separate counters, 1 for your initial array,
// Another for where you are placing it within your new array
unsigned int anotherCount = 0;
for (int i = 0; i < frame.length; i++){
    if (frame[i]!=0){
        sorted[anotherCount ] = frame[i];
        anotherCount++;
    }
}
无符号整数非零计数=0;
//计算非零值的数量
for(int i=0;i
我知道如何在给定约束条件下执行此操作的唯一方法是先计数,然后处理:

unsigned int nonZeroCount = 0;

// Count the amount of non-zero values
for (int i = 0; i < frame.length; i++){
    if (frame[i]!=0)
        nonZeroCount++;
}

// Create the NEW Array
final int[] sorted = new int[nonZeroCount];

// NEXT add them to your new array, Need to have 2 separate counters, 1 for your initial array,
// Another for where you are placing it within your new array
unsigned int anotherCount = 0;
for (int i = 0; i < frame.length; i++){
    if (frame[i]!=0){
        sorted[anotherCount ] = frame[i];
        anotherCount++;
    }
}
无符号整数非零计数=0;
//计算非零值的数量
for(int i=0;i