插入在正确的位置上的字在字典中的最快方法
-
11-09-2019 - |
题
目前,我简单地插入字到字典(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.
}
}
不隶属于 StackOverflow