我正在尝试查找字符串中子字符串出现的频率。 例如:从字符串中查找子字符串的频率
字符串是:家犬蝙蝠狗家犬蝙蝠
结果应该是:
在第一次迭代:
楼= 2狗= 3蝙蝠= 2
在第二次迭代: 家犬
犬蝠
蝙蝠犬
狗屋
家犬
犬蝠
因此,无论众议院狗与狗蝙蝠将有2频率及其他1
在第三次迭代中:
家犬蝙蝠
犬蝠狗
蝙蝠狗屋
狗家犬
家犬蝙蝠
犬蝠
蝙蝠
只有房子狗蝙蝠的频率为2.其他将为1.
并且计数过程一直持续到特定次数的迭代?
必须在IntelliJ Idea Android中实现它,但Java代码也会有帮助。
已经在网上搜索过。
是的,输入将永远是不同的long.Input将谷歌搜索结果的源代码。狗和房子只是例如。
当前代码:
public static void main(String[] args) {
Map<String, Integer> unique = new LinkedHashMap<String, Integer>();
for (String string : "House House House Dog Dog Dog Dog".split(" ")) {
if(unique.get(string) == null)
unique.put(string, 1);
else
unique.put(string, unique.get(string) + 1);
}
String uniqueString = join(unique.keySet(), ", ");
List<Integer> value = new ArrayList<Integer>(unique.values());
System.out.println("Output = " + uniqueString);
System.out.println("Values = " + value);
}
public static String join(Collection<String> s, String delimiter) {
StringBuffer buffer = new StringBuffer();
Iterator<String> iter = s.iterator();
while (iter.hasNext()) {
buffer.append(iter.next());
if (iter.hasNext()) {
buffer.append(delimiter);
}
}
return buffer.toString();
}
将字符串拆分为空格字符。为每个单词增加一个变量(该单词的计数器)。 –
我知道我必须在空间上分割它。这是第二次迭代,因此我遇到了问题。 – AAA
编辑中添加的当前代码 – AAA