如何连接两个窗口JAVA_java-如何连接两个ArrayLists?
java-如何連接兩個ArrayLists?
我有兩個大小相等的ArrayLists。 列表1由10個名稱組成,列表2由其電話號碼組成。
我想將名稱和號碼合并為一個ArrayList。該怎么做?
7個解決方案
78 votes
您可以使用.addAll()將第二個列表的元素添加到第一個列表:
array1.addAll(array2);
編輯:根據上面的說明(“我希望新的Arraylist中具有名稱和編號的單個String。”),您需要循環瀏覽第一個列表并將第二個列表中的項目追加到它。
像這樣:
int length = array1.size();
if (length != array2.size()) { // Too many names, or too many numbers
// Fail
}
ArrayList array3 = new ArrayList(length); // Make a new list
for (int i = 0; i < length; i++) { // Loop through every name/phone number combo
array3.add(array1.get(i) + " " + array2.get(i)); // Concat the two, and add it
}
如果輸入:
array1 : ["a", "b", "c"]
array2 : ["1", "2", "3"]
你會得到:
array3 : ["a 1", "b 2", "c 3"]
Eric answered 2020-02-17T17:44:26Z
17 votes
將一個ArrayList添加到第二個ArrayList中,如下所示:
Arraylist1.addAll(Arraylist2);
編輯:如果要從兩個現有的ArrayList創建新的ArrayList,請執行以下操作:
ArrayList arraylist3=new ArrayList();
arraylist3.addAll(Arraylist1); // add first arraylist
arraylist3.addAll(Arraylist2); // add Second arraylist
ρяσ?ρ?я K answered 2020-02-17T17:44:50Z
2 votes
ArrayList resultList = new ArrayList();
resultList.addAll(arrayList1);
resultList.addAll(arrayList2);
Android Killer answered 2020-02-17T17:45:06Z
2 votes
一個ArrayList1添加到數據中,
mArrayList1.add(data);
和Second ArrayList2添加其他數據,
mArrayList2.addAll(mArrayList1);
Najib Ahmed Puthawala answered 2020-02-17T17:45:30Z
2 votes
對于不復制條目的輕量級列表,您可以使用如下方式:
List mergedList = new ConcatList<>(list1, list2);
這里執行:
public class ConcatList extends AbstractList {
private final List list1;
private final List list2;
public ConcatList(final List list1, final List list2) {
this.list1 = list1;
this.list2 = list2;
}
@Override
public E get(final int index) {
return getList(index).get(getListIndex(index));
}
@Override
public E set(final int index, final E element) {
return getList(index).set(getListIndex(index), element);
}
@Override
public void add(final int index, final E element) {
getList(index).add(getListIndex(index), element);
}
@Override
public E remove(final int index) {
return getList(index).remove(getListIndex(index));
}
@Override
public int size() {
return list1.size() + list2.size();
}
@Override
public void clear() {
list1.clear();
list2.clear();
}
private int getListIndex(final int index) {
final int size1 = list1.size();
return index >= size1 ? index - size1 : index;
}
private List getList(final int index) {
return index >= list1.size() ? list2 : list1;
}
}
benez answered 2020-02-17T17:45:55Z
2 votes
如果您只想一行而又不想更改list1和list2,則可以使用流
List list1 = Arrays.asList("London", "Paris");
List list2 = Arrays.asList("Moscow", "Tver");
List list = Stream.concat(list1.stream(),list2.stream()).collect(Collectors.toList());
Sergey Orlov answered 2020-02-17T17:46:15Z
0 votes
var arr3 = new arraylist();
for(int i=0, j=0, k=0; i
if(i&1)
arr3.add(arr1[j++]);
else
arr3.add(arr2[k++]);
}
如您所說,“名稱和數字彼此相鄰”。
Harry Lee answered 2020-02-17T17:46:35Z
總結
以上是生活随笔為你收集整理的如何连接两个窗口JAVA_java-如何连接两个ArrayLists?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 新浪短网址生成java_如何生成t.cn
- 下一篇: Java双向链表快速排序_双向链表的插入