我被告知有一个按长度排序的单词列表,并且具有相同长度的单词按字母顺序排序。到目前为止,这就是我所拥有的方法。
public static void doIt(BufferedReader r, PrintWriter w) throws IOException {
TreeMap<String, Integer> s = new TreeMap<String, Integer>();
ArrayList<Integer> count = new ArrayList<Integer>();
String line;
int length;
while ((line = r.readLine()) != null) {
length = line.length();
s.put(line, length);
if (!count.contains(length)){
count.add(length);
}
}
Collections.sort(count);
System.out.println(count);
}
我的想法是使用 TreeMap 来保存字符串,并以单词的长度作为键。我还有一个 ArrayList 可以跟踪所有单词的长度而没有任何重复,然后对其进行排序。
我希望以某种方式调用 TreeMap 的键值 5,它会列出所有包含 5 个字母的单词。
我想知道我是否走在正确的轨道上?我已经玩了一个多小时,似乎无法弄清楚在此之后我应该做什么。我从正确的角度接近这个吗?