2 eiseno Eiseno 于 2012.12.24 16:24 提问

怎么样能将两个数组和在一起?

我有两个大小相等的数组。数组1包含10个名字,数组2包含他们的电话号码。我想要将名字和电话号码和到一个数组中,应该怎么做?

4个回答

niangzhi
niangzhi   2012.12.25 15:29
已采纳

你可以用.addAll()将第二个列表中的元素加到第一个中:

array1.addAll(array2);

如果你是想要将名字和电话号码以字符串的形式都放到一个新的数组中,你可以遍历列表,然后从第二个列表中将内容迁过去。

Something like this:
if (array1.length() != array2.length()) { // Too many names, or too many numbers
    // Fail
}
ArrayList<String> array3 = new ArrayList<String>(); // Make a new list
for (int i = 0; i < array1.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"]
kfanning
kfanning   2013.07.23 11:11

我猜测你是需要一个二维数组?
如果是这样的话,普通的新建数组并迭代这种方式,就不说了.
用一个工具类Array来操作

public static void main(String[] args) {
    String[] nameArray = new String[]{"张三","李四","赵武"};
    long[] phoneNumArray = new long[]{11111111111l,22222222222l,22222222222l};
    Object[] mixArray = new Object[]{nameArray , phoneNumArray};
    for (int i = 0 , j = Array.getLength(mixArray[0]); i < j; i++) {
        System.out.println(Array.get(mixArray[0], i) +"的电话号码为:" + Array.getLong(mixArray[1], i));
    }
}

这样输出的结果为:

张三的电话号码为:11111111111
李四的电话号码为:22222222222
赵武的电话号码为:22222222222
yiranwujixian
yiranwujixian   2012.12.24 16:48
ArrayList<String> resultList = new ArrayList<String>();
resultList.addAll(arrayList1);
resultList.addAll(arrayList2);
Sueyexin
Sueyexin   2012.12.25 15:04

将一个数组加到第二个数组中是这样:

Arraylist1.addAll(Arraylist2);

如果你想要从两个已经存在的数组中创建新的数组,这样:

ArrayList<String> arraylist3=new ArrayList<String>();

arraylist3.addAll(Arraylist1); // add first arraylist

arraylist3.addAll(Arraylist2); // add Second arraylist
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!