编程问答
如何连接两个窗口java-凯发ag旗舰厅登录网址下载
java-如何连接两个arraylists?
我有两个大小相等的arraylists。 列表1由10个名称组成,列表2由其电话号码组成。
我想将名称和号码合并为一个arraylist。该怎么做?
7个凯发ag旗舰厅登录网址下载的解决方案
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
总结
以上是凯发ag旗舰厅登录网址下载为你收集整理的如何连接两个窗口java_java-如何连接两个arraylists?的全部内容,希望文章能够帮你解决所遇到的问题。
如果觉得凯发ag旗舰厅登录网址下载网站内容还不错,欢迎将凯发ag旗舰厅登录网址下载推荐给好友。
- 上一篇:
- 下一篇: