Java 检查字符串数组中的字符不是';不重复

Java 检查字符串数组中的字符不是';不重复,java,arrays,string,Java,Arrays,String,因此,对于数组中给定的一组字符串,我想将它们组合起来创建一个字符串 例如: array[0] = "abcde"; array[1] = "bcfgp"; array[2] = "fbcns"; array[3] = "fbdrq"; 我想加入他们,从而从数组中获得每个字母的第一个。 我对这段代码做得很好: String[] array = new String[4]; array[0] = "abcde"; array[1] = "bc

因此,对于数组中给定的一组字符串,我想将它们组合起来创建一个字符串

例如:

 array[0] = "abcde";
 array[1] = "bcfgp";
 array[2] = "fbcns";
 array[3] = "fbdrq";
我想加入他们,从而从数组中获得每个字母的第一个。 我对这段代码做得很好:

        String[] array = new String[4];
        array[0] = "abcde";
        array[1] = "bcfgp";
        array[2] = "fbcns";
        array[3] = "fbdrq";

        int wordLength = array[0].length();

        StringBuilder b = new StringBuilder();

        // check through letter in each word
        for (int i = 0; i < wordLength; i++) {
            char[] charArray = new char[wordLength];
            // checks each word in the array
            for (int j = 0; j < 4; j++) {
                char ch = array[j].charAt(i);
                b.append(ch);
            }
        }
所以你可以看到,当i=0时,有一个重复的
f
,因此,与其在字符串中添加两个f,不如只添加一个

i=1有3个b,所以我只在字符串和c中添加一个

i=2仅向字符串和d和d添加1个c

如果您得到图片,最终输出将是:


“abfbccfddgnrepsq”
集合可用于识别重复项,如下所示:

   StringBuilder b = new StringBuilder();

   // check through letter in each word
   Set<Character>st = new HashSet<>();
   for (int i = 0; i < wordLength; i++) {

       st.clear();
       char[] charArray = new char[wordLength];
       // checks each word in the array

       for (int j = 0; j < 4; j++) {
           char ch = array[j].charAt(i);
           if(st.add(ch))  
           b.append(ch);
       }
   }
StringBuilder b=新的StringBuilder();
//检查每个单词中的字母
Setst=新的HashSet();
for(int i=0;i
数组中的所有字符串是否都是长度为
i
的字符串?它们确实是@trashr0xBeautiful,在第一个for循环之后创建集合会更容易吗?会不会有更多的工作?非常感谢。though@user3667111是的,也许会,这只是你的喜好。两者都是正确的。
   StringBuilder b = new StringBuilder();

   // check through letter in each word
   Set<Character>st = new HashSet<>();
   for (int i = 0; i < wordLength; i++) {

       st.clear();
       char[] charArray = new char[wordLength];
       // checks each word in the array

       for (int j = 0; j < 4; j++) {
           char ch = array[j].charAt(i);
           if(st.add(ch))  
           b.append(ch);
       }
   }