1

目前,我只是将单词插入字典 ( ArrayList<String>),然后像这样对字典进行排序:

dictionary.add(newWord);
Collections.sort(dictionary, new Comparator<String>(){
    public int compare(String s1, String s2) {
        return s1.compareToIgnoreCase(s2);
    }        
});

我正在尝试确定这种方式是否真的是最好的。当然,另一种方法是在字典中找到正确的点,然后将单词插入那里。问题是,我无法想出一种有效/可靠的方法来在字典中找到该点。我有一些想法在我的脑海里飞来飞去,但把笔写在纸上真的很棘手。

如果您知道如何做,请不要发布任何大量代码答案。这是作业的一部分,所以你能不能告诉我你是怎么做的,而不是发布代码?(也许是伪代码?)

谢谢你。

4

1 回答 1

8

我会使用TreeSet<String>而不是ArrayList<String>,因为TreeSet使用字符串比较器来维护插入时的顺序。并且TreeSet不允许您添加空值,因为它使用的是字符串比较器。

import java.util.Set;
import java.util.TreeSet;

public class Dictionary
{
    public static void main(String[] args)
    {
        Set<String> dictionary = new TreeSet<String>();
        dictionary.add("zebra");
        dictionary.add("wildebeast");
        dictionary.add("aardvark");
        System.out.println(dictionary); // will be in the correct alphabetical order.
    }
}
于 2009-11-02T01:44:39.950 回答