仅使用二维数组的一列 java

Only use one column of 2D array java

我有一个二维字符串数组频率: String freq[][] = new String[26][2]; 我只想将第一列的内容与 new String(freq) 一起使用,如果 freq 是普通数组,这将起作用。但是我想用我的二维数组的第一列来做这个,或者我必须使用两个一维数组来做这个:

String freq[][] = new String[26][2];
    int free = 0;
    for (int b = 0; b < words.length; b++) {
        for (int l = 0; l < words[b][0].length(); l++) {
            if (new String(freq[0]).indexOf(words[b][0].charAt(l)) < 0) {
                freq[free][0] = Character.toString(words[b][0].charAt(l));
                free++;
            }
        }
    }

谢谢! :)

我不确定我是否理解你想要实现的目标,但如果你只想遍历第一列,只需执行类似的操作并删除内部循环


for(int i = 0; i < words.length; i++) {
  //Do stuff with words[i][0], e.g.
  words[i][0] = Some_usefull_thing;
}
</pre>

使用 StringBuilder 并连接所有值(将 8 替换为您的平均字长):

final StringBuilder builder = new StringBuilder(words.length * 8);
for (String[] nestedWords : words)
{
    builder.append(nestedWords[0]);
}

return builder.toString();

您也可以在 java 8 中这样做:

return Arrays.stream(words).map(a -> a[0]).collect(Collectors.joining());