如何获取阵列中的所有可能组合

时间:2014-12-08 05:15:07

标签: java arrays permutation

我有一个像这样的数组(java):

  

String arrName[] = {"John","Paul","Luke","Ana"};

我希望得到这样的输出:

JohnPaul
JohnLuke
JohnAna
PaulJohn
PualLuke
PaulAna
LukeJohn
LukePaul
LukeAna
AnaJohn
AnaPaul
AnaLuke
有人可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

以嵌套的foreach循环的形式在数组和数组副本之间进行交叉产品。跳过彼此相同的名字

String[] copyArrName = arrName;
for (String name : arrName){
    for (String otherName: copyArrName){
        if(name != otherName)
            System.out.println(name + " " + otherName); 
    }
}

这将为您提供所需的输出

答案 1 :(得分:-1)

你正在寻找这样的东西: -

for(int i=0 ; i < arrName.length ; i++){
    for(int j=0; j< arrName.length; j++){
        if(j != i){
            System.out.println(arrName[i]+arrName[j]);
        }
    }
}