目前,我简单地插入字到字典(ArrayList<String>),然后分选字典像这样:

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

我试图确定这种方法是否真的是最好的。另一种方法,当然是要找到在词典中正确的点,然后插入字那里。问题是,我一直没能拿出一个高效/可靠的方式找到字典中这一点。我有一些想法在我的头上飞来飞去,但它确实棘手把落笔。

如果您有如何做到这一点的想法,请不要发布任何大规模的代码的答案。这是一个任务的一部分,所以不是张贴代码,你可以走我通过你会怎么做呢? (也许在伪码?)

感谢您。

有帮助吗?

解决方案

我会用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.
    }
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top