编写一个交错合并列表元素的函数,两种方法

//编写一个交错合并列表元素的函数。例如:给定的两个列表为[a,B,C]和[1,2,3],函数返回[a,1,B,2,C,3]。 

private static String[] getStaggeredMergeArray(String[] arr1, String[] arr2)

{ String[] arr = new String[arr1.length + arr2.length];  

int i, j; for (i = 0, j = 0; i < arr1.length; i++) {  

j = 2 * i;  

if (j > 2 * arr2.length)//若arr1数组长度长等于arr2  

j = arr2.length + i;  

arr[j] = arr1[i];//0 2 4 }  

for (i = 0, j = 0; i < arr2.length; i++) {  

j = 2 * i + 1;  

if (j > 2 * arr1.length)//若arr2数组长度长等于arr1  

j = arr1.length + i;  

arr[j] = arr2[i];//1 3 5 }

return arr;}

public static void main(String[] args) {  

String[] arr1 = { "a", "B", "c", "D", "e" };  

String[] arr2 = { "1", "2", "3" };  

String[] arr = getStaggeredMergeArray(arr1, arr2);  

System.out.println(Arrays.toString(arr));}

  1. import java.util.*;  
  2.   
  3. public class Test2{  
  4.       
  5.     public static void main(String[] args){  
  6.         ArrayList<Object> a1=new ArrayList<Object>();  
  7.         ArrayList<Object> a2=new ArrayList<Object>();  
  8.         a1.add('a');  
  9.         a1.add('B');  
  10.         a1.add('C');  
  11.         a2.add(1);  
  12.         a2.add(2);  
  13.         a2.add(3);  
  14.         a1.add(2.2);  
  15.         ArrayList<Object>  a3=mergeList(a1,a2);  
  16.         System.out.println(a3);  
  17.     }  
  18.   
  19.     public static ArrayList<Object> mergeList(ArrayList<Object> a1,ArrayList<Object> a2){  
  20.         int size=a1.size()+a2.size();  
  21.         int j1=0,j2=0;  
  22.         ArrayList<Object> a3=new ArrayList<Object>();  
  23.         for(int i=0;i<size;i++){  
  24.             if(i%2==0)  
  25.                 a3.add(a1.get(j1++));  
  26.             else  
  27.                 a3.add(a2.get(j2++));  
  28.         }  
  29.         return a3;  
  30.     }  
  31.   
  32. }  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值