我有一个2D String数组freq:
String freq[][] = new String[26][2];
并且我想仅使用new String(freq)
使用第一列的内容,如果freq是普通数组,它将起作用。但是我想用2D数组的第一列做这个,或者我必须使用两个1D数组来做到这一点:
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++;
}
}
}
谢谢! :)
答案 0 :(得分:0)
我不确定我是否理解你想要实现的目标,但是如果你只想迭代第一列就做这样的事情而只是放弃内循环
for(int i = 0; i < words.length; i++) {
//Do stuff with words[i][0], e.g.
words[i][0] = Some_usefull_thing;
}
答案 1 :(得分:0)
使用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());