如何在java中混合2个列表

时间:2015-12-11 03:34:33

标签: java android android-studio arraylist

我有一个列表,例如:{Daniel,Michael,Kate},另一个列表:{Daniel,Michael,Kate}。我想要的是制作第三个列表,例如:{Daniel-Kate,Kate-Michael,Michael-Daniel}。我想混合它们来制作一个新的列表,其中的元素混合在一起?我试过这个:

int start2;

//do a check here
for (int i = 0; i < lista.size(); i++) {
    start2 = random.nextInt(lista2.size() - 0) + 0;
    if (lista2.get(start2).equals(lista.get(i))) {
        i--;
    } else {
        listaParejas.add(lista.get(i) + "->" + lista2.get(start2));
        listaSalidos.add(lista2.get(start2));
        lista2.remove(start2);
    }
}

for (int i = 0; i < listaParejas.size(); i++) {
    Toast.makeText(getApplicationContext(), listaParejas.get(i), Toast.LENGTH_LONG).show();
}

有时会崩溃,或者我总是得到同样的情侣。有什么建议吗?

2 个答案:

答案 0 :(得分:1)

使用此:

 if             
        (for (j = 0, j < flights.size, j++)
        {
        (userFlight != flights[j].departAirport)
        })

    {return errorCode};

else
    {//doSomething()};

答案 1 :(得分:0)

您的方法对我来说有点容易出错。首先将两个列表混合起来更容易,然后逐个采用它们各自的元素,如下所示:

Collections.shuffle(list1);
Collections.shuffle(list2);

for (int i = 0; i < Math.min(list1.size(), list2.size()); i++) {
    list3.add(list1.get(i) + "-" + list2.get(i));
}