Java数组字符串组合

Java数组字符串组合,java,combinations,Java,Combinations,我需要一些java代码方面的帮助 这是我的代码: public void showData() { int pass = 0; /* For first list */ for(int i = 0; i < first_list.length; i++) { if(first_list[pass].toString() != second_list[i].toString()) {

我需要一些java代码方面的帮助

这是我的代码:

public void showData() {

        int pass = 0;

        /* For first list */
        for(int i = 0; i < first_list.length; i++) {

            if(first_list[pass].toString() != second_list[i].toString()) {
                System.out.println(first_list[i]);

            } else {

            }

        }

        pass++;
    }
public void showData(){
int pass=0;
/*第一份名单*/
for(int i=0;i
输出:

  • 波尔图
  • 阿尔加维
但我不想这样做,我明白这样做,我的目的是,不要做其他通行证。。我想得到所有可能的组合而不重复单词,我想要的输出是:

  • 波尔图
  • 阿尔加维
  • 葡京
  • 阿尔加维
  • 葡京
  • 波尔图
这是一个有助于理解的绘图:

我怎么能做这样的事?谢谢大家!

编辑:
我不是问如何比较字符串。。。如果有人能给我指出一个我想要的话题,那就太好了,如果没有的话。。好吧,有些建议会很好

问题并不完全清楚,但如果我理解正确,你会想要这样的建议:

String[] locations = {"Lisboa", "Porto", "Algarve"};

for (String source : locations) {
    for (String destination : locations) {
        if (!source.equals(destination)) {
            System.out.println(source + " -> " + destination);
        }
    }
}
用一套

Set<String> mySet = new HashSet<String>();
for(String s:first_list)
  mySet.add(s);

for(String s:second_list)
  mySet.add(s);

for(String s:mySet)
  System.out.println(s);
Set mySet=new HashSet();
用于(字符串s:第一个列表)
mySet.add(s);
for(字符串s:第二个_列表)
mySet.add(s);
for(字符串s:mySet)
系统输出打印项次;

njzk这个主题,不要帮我做我想做的事,我不是在问如何比较字符串……你需要所有的排列,对吗?在一张纸上,一步一步地想一想你在逻辑上会怎么做。您可以将第一个元素与第二个元素组合。然后是第三个。现在,在下一次迭代中,您如何处理下一个元素?然后将其转换为代码。您的思路是正确的,但您把它复杂化了。@user3000019,这可能不是您想要的,但它会帮助您。@user3000019无论您想做什么,第一个问题是字符串比较。确切地说,为什么它被标记为负?线程开启器需要两个数组中的一组名称,而不需要任何重复的名称。感谢您的帮助,在我的情况下,shmosel解决方案是最好的,但感谢您的时间!我不明白为什么它被标记为否定的。非常感谢,这就是我想要的!!