回答
您可以使用.addAll()
来将第二个列表中的元素添加到第一个列表中:
array1.addAll(array2);
编辑:根据你上面的说明(“我希望在新的Arraylist中有一个字符串,它既有名字又有数字。“),您将通过第一个列表要循环,并从第二列表中的项目追加到它
事情是这样的:
int length = array1.size();
if (length != array2.size()) { // Too many names, or too many numbers
// Fail
}
ArrayList<String> array3 = new ArrayList<String>(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"]
您可能想要指定'array3'的大小。即'新的ArrayList
一个ArrayList中添加到第二的ArrayList为:
Arraylist1.addAll(Arraylist2);
编辑:,如果你想从现有的两个那么ArrayList中做如创建新的ArrayList:
ArrayList<String> arraylist3=new ArrayList<String>();
arraylist3.addAll(Arraylist1); // add first arraylist
arraylist3.addAll(Arraylist2); // add Second arraylist
数字显示在名字后面,我想要名字和数字在旁边。你能帮我解决吗? – Anirudh
@anirudhmaddy:好的,你想在同一索引的新阵列中同时使用名称+数字吗? –
ArrayList<String> resultList = new ArrayList<String>();
resultList.addAll(arrayList1);
resultList.addAll(arrayList2);
一个ArrayList1添加到数据,
mArrayList1.add(data);
和二ArrayList2添加其他数据,
mArrayList2.addAll(mArrayList1);
var arr3 = new arraylist();
for(int i=0, j=0, k=0; i<arr1.size()+arr2.size(); i++){
if(i&1)
arr3.add(arr1[j++]);
else
arr3.add(arr2[k++]);
}
就像你说的, “姓名和号码彼此的旁边”。
对不复制条目的轻量级目录,你可以使用某事像这样:
List<Object> mergedList = new ConcatList<>(list1, list2);
这里实现:
public class ConcatList<E> extends AbstractList<E> {
private final List<E> list1;
private final List<E> list2;
public ConcatList(final List<E> list1, final List<E> 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<E> getList(final int index) {
return index >= list1.size() ? list2 : list1;
}
}
- 1. 连接多个ArrayLists
- 2. 合并两个arraylists
- 3. 使用=和+ =代替For循环连接两个ArrayLists
- 4. 如何连接两个web.xml?
- 5. 如何连接两个listview?
- 6. 如何连接两个域
- 7. 如何连接两个表?
- 8. 如何连接两个表
- 9. 如何连接两个getElementsBy
- 10. 如何连接两个MySQL表两次
- 11. 如何间接地连接两个表
- 12. 如何用一个连接“连接”一个表格两次?
- 13. 如何在两个接口之间隧道连接Telnet连接?
- 14. 如何使用两个柱作为连接的参数来连接两个表?
- 15. 如何连接不同类中的多个ArrayLists。 (java中的银行程序)
- 16. 我如何连接两个注释点?
- 17. 如何左连接两个Datables?
- 18. 如何连接两个Lua luaL_Buffer ojbects?
- 19. 如何连接两个qml文件?
- 20. 如何连接两个LPCWSTR的C++
- 21. 如何连接两个布局java android?
- 22. 如何连接以下两个矩阵?
- 23. 如何使用iTextSharp连接两个PDF?
- 24. 如何连接两个SELECT语句?
- 25. 如何连接两个数据库?
- 26. 如何连接两个ajax请求?
- 27. 如何在C中连接两个char *?
- 28. PHP如何连接两个玩家
- 29. 如何使用linq连接两个表?
- 30. 如何正确连接两个表格?
你到底由CONCAT是什么意思?建立一个新的名单,其中有10个元素包含姓名和号码? – Henry
我想在新的Arraylist中有一个字符串,它既有名字又有数字。 – Anirudh