我正在嘗試查找字符串中子字符串出現的頻率。 例如:從字符串中查找子字符串的頻率
字符串是:家犬蝙蝠狗家犬蝙蝠
結果應該是:
在第一次迭代:
樓= 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