Объединение нескольких строковых массивов в один - PullRequest
2 голосов
/ 26 февраля 2012

В основном у меня есть несколько строковых массивов, и я хочу объединить их.

Не просто расширить первый массив, но объединить a[0] и b[0] в одну строку.

вроде так:

String[] a = {"line1", "line2"};
String[] b = {"line3", "line4"};
String[] c; 
Combine code here
c[0] == "line1line3";
c[1] == "line2line4";

Я использую commons lang v3, если это поможет.

Я могу объединить 2 массива с

c = (String []) ArrayUtils.addAll (a, b);

Но это просто делает c = "line1", "line2", "line3", "line4"

Кто-нибудь когда-нибудь делал это?

Ответы [ 4 ]

6 голосов
/ 26 февраля 2012

Вы можете использовать StringUtils.join от commons lang, чтобы "склеить" строки:

for (int i = 0 ; i != c.length ; i++) {
    c[i] = StrungUtils.join(a[i], b[i]);
}

Это может быть немного быстрее в случае, если вам нужно объединить более двух массивов, но в случае только двух массивов это почти наверняка будет медленнее.

6 голосов
/ 26 февраля 2012

Если массивы имеют одинаковую длину, как насчет

for(int i = 0; i < a.length; ++i){
    c[i] = a[i] + b[i];
}

просто объединить соответствующие строки в цикле?

2 голосов
/ 26 февраля 2012

вам придется добавить обработку недопустимых индексов, но здесь вы идете:

String[] c = new String[len];
for( int i = 0; i < len; i++ ){
    c[i] = a[i] + b[i];
}
2 голосов
/ 26 февраля 2012
c = new String[a.length];
for (int i=0; i<a.length; i++)
{
  c[i] = a[i] + b[i];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...