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

33qvvth1  于 2021-07-05  发布在  Java
关注(0)|答案(1)|浏览(368)

现在,我只是把这个词插入字典( ArrayList<String> )然后把字典分类如下:

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

我在试着确定这种方式是否真的是最好的。当然,另一种方法是在词典中找到正确的点,然后在那里插入单词。问题是,我还没有找到一个有效/可靠的方法在字典里找到那一点。我脑子里有一些想法,但很难把它写下来。
如果你有一个如何做的想法,请不要张贴任何大规模的代码答案。这是一个任务的一部分,因此,而不是张贴代码,你能告诉我你会怎么做吗(可能是伪代码?)
谢谢您。

kcrjzv8t

kcrjzv8t1#

我会用 TreeSet<String> 而不是 ArrayList<String> ,因为 TreeSet 使用字符串比较器在插入时保持顺序。以及 TreeSet 将不允许您添加null,因为它使用的是字符串比较器。

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.
    }
}

相关问题