java - 在java中生成List字符串的组合

标签 java string for-loop arraylist combinations

我有一个名为 listTeams 的列表,其中包含字符串。我需要生成这些字符串的所有唯一组合并将它们存储在另一个名为lines的ArrayList中。我尝试了以下方法,但结果并不理想:

for(int i=0; i<listTeams.size();i++){
    for(int j=1;j<listTeams.size();j++){
       if (listTeams.get(j).equals(listTeams.get(i)))
                    continue;

           for(int k=2;k<listTeams.size();k++){

                if (listTeams.get(k).equals(listTeams.get(i)) || listTeams.get(k).equals(listTeams.get(j)))
                    continue;
                String str = listTeams.get(i)+listTeams.get(j)+listTeams.get(k);
                lines.put(str,new ArrayList<String>());                 
                }
             }              
           }

这是原始列​​表:{"A","B","C","D"} 我得到的是

a_b_c
a_b_d
a_c_d
a_d_c
b_c_d
b_d_c
c_b_d
d_b_c

我的愿望是:

a_b_c
a_b_d
a_c_d
b_c_d

最佳答案

for(int i=0; i<listTeams.size();i++){
    for(int j=i+1;j<listTeams.size();j++){
           for(int k=j+1;k<listTeams.size();k++){
                String str = listTeams.get(i)+listTeams.get(j)+listTeams.get(k);
                lines.put(str,new ArrayList<String>());                 
                }
             }              
           }

关于java - 在java中生成List字符串的组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50738872/

相关文章:

java - 回复 : java. lang.OutOfMemoryError:为 ChunkP 请求 32756 字节

Python:找到最接近的字符串(从列表中)到另一个字符串

string - 将 uint32 转换为字符串并添加前导 0

java - Java中的垃圾字符删除

list - 在 Python 中运行多个循环

java - 亚马逊电子病历 : Passing an XML or properties file to a JAR

java - 获取 Java lambda 表达式的封闭类

c# - 循环只触发一次

java - i 和 i=i++ 在 for 循环 java 中

java - 如何将 HttpServletRequest 注入(inject)非资源类?