java 怎么将一个数组拆分成两个数组?

Python052

java 怎么将一个数组拆分成两个数组?,第1张

package Test20201227

import java.util.Arrays

public class Test03 {

public static void main(String[] args) {

//待拆分的A数组

int a[] = {1,2,3,4,5,6,7,8,9,10}

//新数组长度:先定义为a数组长度的一般,如果有剩余可以再取值!

int newArrayLength =  a.length/2

//接收拆分的bc数组

int b[] = new int[a.length/2]

int c[] = new int[a.length/2]

int k = 0//k用来记录a的下标;

for(int i=0i<newArrayLengthi++){

b[i] = a[k]

k++

c[i] = a[k]

k++

}

//如果a数组有多余的值再取出

//判断余数

int remainder = a.length%2

if(remainder!=0){

//a数组多一个,则给b数组扩容,

b = Arrays.copyOf(b, b.length+1)

b[b.length-1] = a[k]

}

//查看结果

System.out.println("a数组(待拆分数组): "+Arrays.toString(a))

System.out.println("b数组(拆分后第一数组): "+Arrays.toString(b))

System.out.println("c数组(拆分后第二数组): "+Arrays.toString(c))

}

}

import java.util.Arrays

public class Du2 {

    public static void main(String[] args) {

        int[] ary = {50 ,70,43,99,77,66,55}

        

        int passCount = 0

        

        for(int i = 0 i< ary.length i++){

            if(ary[i] >= 60){

                passCount++

            }

        }

        

        int[] passAry = new int[passCount]

        int[] failAry = new int[ary.length - passCount]

        

        for(int i =0, pass=0, fail=0 i < ary.length i++){

            if(ary[i] >= 60){

                passAry[pass++]= ary[i]

            }else{

                failAry[fail++] = ary[i]

            }

        }

        

        System.out.println("及格数组:" + Arrays.toString(passAry))

        System.out.println("不及格数组:" + Arrays.toString(failAry))

    }

}

import java.util.ArrayList

import java.util.List

public class ABC {

public static void main(String[] args) {

int[] ary = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18}//要分割的数组

int splitSize = 5//分割的块大小

Object[] subAry = splitAry(ary, splitSize)//分割后的子块数组

for(Object obj: subAry){//打印输出结果

int[] aryItem = (int[]) obj

for(int i = 0i <aryItem.lengthi++){

System.out.print(aryItem[i] + ", ")

}

System.out.println()

}

}

private static Object[] splitAry(int[] ary, int subSize) {

int count = ary.length % subSize == 0 ? ary.length / subSize: ary.length / subSize + 1

List<List<Integer>>subAryList = new ArrayList<List<Integer>>()

for (int i = 0i <counti++) {

int index = i * subSize

List<Integer>list = new ArrayList<Integer>()

int j = 0

while (j <subSize &&index <ary.length) {

list.add(ary[index++])

j++

}

subAryList.add(list)

}

Object[] subAry = new Object[subAryList.size()]

for(int i = 0i <subAryList.size()i++){

List<Integer>subList = subAryList.get(i)

int[] subAryItem = new int[subList.size()]

for(int j = 0j <subList.size()j++){

subAryItem[j] = subList.get(j).intValue()

}

subAry[i] = subAryItem

}

return subAry

}

}

------------------

0, 1, 2, 3, 4,

5, 6, 7, 8, 9,

10, 11, 12, 13, 14,

15, 16, 17, 18,