2015-02-12 2 views
0

У меня есть 3 списка на Java и как их объединить?Объединить 3 элемента списка

list1 = [10,20,30] 
list2 = [40,50,60] 
list3 = [70] 

Выход

разреш = [10,40,70,20,50,30,60]

Я знаком с написания достижения результата, но хотел бы, если знать, есть - это любые библиотеки, которые я могу использовать.

+0

«Я знаком с ...», можете ли вы привести нам пример того, что вы обычно делаете? – Jon

ответ

1
res = ArrayUtils.addAll(list1, list2); 
res = ArrayUtils.addall(res,list3); 

Также см. Еще несколько опций о том, как это сделать. here.

0

из How to mix two arrays in Java?

int[] merge(int[]... arrays) { 
    int length = 0; 
    for (int[] a: arrays) { 
     length += a.length; 
    } 
    int result[] = new int[length]; 
    for (int i = 0, j = 0; j < length; ++i) { 
     for (int[] a: arrays) { 
      if (i < a.length) { 
       result[j++] = a[i]; 
      } 
     } 
    } 
    return result; 
} 

затем просто

merge(list1, list2, list3) 
0

Вы можете использовать обычные Java 7 библиотек:

List result = new ArrayList(); 
result.addAll(list1); result.addAll(list2); result.addAll(list3);` 

или короче:

List result = new ArrayList(); 
Collections.addAll(result, list1, list2, list3); 

Я предполагаю, что есть также потоковое решение Java 8.

Смежные вопросы