想问一下关于java数组中的值如何交换

给一个整数型的数组,将里面的奇数和偶数成对互换,例如[11,55,100,200,300,77] 输出结果为[100,200,11,55,77,300] 因为第一个奇数是11,第一个偶数是100,以此类推,还有int[] nums = {}; 这个是表示空数组还是长度为零?

int[] nums = {};
即表示空数组,数组长度也为0
思路:
遍历数组,先将奇数和偶数分别存放在集合中。
其中,key为数组索引,value为数组值。
然后遍历其中一个较小的集合,根据索引依次取出对应集合的索引值来对数组进行交换。