将单词插入字典中正确位置的最快方法

Jam*_*mes 1 java dictionary variable-assignment

目前,我只是将单词插入到字典(ArrayList<String>)中,然后对字典进行排序,如下所示:

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

我试图确定这种方式是否真的是最好的.当然,另一种方法是在字典中找到正确的点,然后在那里插入单词.问题是,我无法想出一种有效/可靠的方法来在字典中找到这一点.我脑子里浮现出一些想法,但把纸笔放在纸上真是太棘手了.

如果您对如何操作有所了解,请不要发布任何大量的代码答案.这是作业的一部分,所以你可以告诉我你是怎么做的,而不是张贴代码吗?(也许是伪代码?)

谢谢.

duf*_*ymo 8

我会使用TreeSet<String>而不是ArrayList<String>,因为TreeSet在插入时使用String Comparator来维护顺序.并且TreeSet不允许你添加null,因为它使用的是String比较器.

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.
    }
}
Run Code Online (Sandbox Code Playgroud)