我需要这个Java数组的帮助

我需要这个Java数组的帮助,java,Java,返回一个数组,该数组包含与给定数组完全相同的数字,但需要重新排列,以便将所有零分组在数组的开头。非零数的顺序并不重要。所以{1,0,0,1}变成了{0,0,1,1}。您可以修改并返回给定数组或创建新数组 保留两个指针,一个在开始处,另一个在搜索0。如果找到零,交换它们,并向前移动指针。这可能不是最快的代码,但对于较小的数组,我会这样做: for(int index = 0; index<array.length; index++ ){ for(int search

返回一个数组,该数组包含与给定数组完全相同的数字,但需要重新排列,以便将所有零分组在数组的开头。非零数的顺序并不重要。所以{1,0,0,1}变成了{0,0,1,1}。您可以修改并返回给定数组或创建新数组

保留两个指针,一个在开始处,另一个在搜索0。如果找到零,交换它们,并向前移动指针。

这可能不是最快的代码,但对于较小的数组,我会这样做:

    for(int index = 0; index<array.length; index++ ){

        for(int search = index+1; search<array.length; search++){
            if(array[search]==0){
                int tempStorage = array[index];
                    array[index]= array[search];
                    array[search]= tempStorage;
            }
        }       
    }

for(int index=0;index使用自定义比较器对数组进行排序(请参阅)

在比较器中,如果不是0,则使用默认的int比较(请参阅)

比如:

int compare(int a, int b)
{
  if (a == 0 && b == 0)
    return 0;
  if (a == 0)
    return -1;
  if (b == 0)
    return 1;
  else
    return Integer.compareTo(a, b);
}

投票结束这个问题,因为目前还不清楚你在这个任务中的确切问题是什么。