我想编写一个 java 程序,它会给我一个给定的字母频率String
。
我试过这个:
public void frequencyOfLetter() {
String strMOd[] = "Hurricane.".split("");
LinkedHashSet<String> lhs = (LinkedHashSet<String>) Arrays.asList(strMOd);
for (String letter : lhs) {
if (lhs.contains(letter)) {
System.out.println(letter + " " + Collections.frequency(lhs, letter));
}
}
}
为什么我使用LinkedHashSet
,因为我不想要任何重复。然而,这给了我一个错误,即这种类型的转换是不正确的。
所以我用它作为几行额外的代码:
List<String> lhs = Arrays.asList(strMOd);
LinkedHashSet<String> lhsmod = new LinkedHashSet<String>(lhs);
为什么以前的代码会给出这个错误,在 的帮助下这样做有什么好处LinkedHashSet
?