Java 在给定词典文件中插入新词,但不更改顺序

Java 在给定词典文件中插入新词,但不更改顺序,java,sorting,dictionary,Java,Sorting,Dictionary,我正在编写一个代码,在字典文件(给定)中插入一个新词。 我在ArrayList中添加了新词,然后对数组进行排序,以便通过collection.sort(ArrayList e)保存一个已排序的字典,但它并没有完全满足我的字典的要求 A. A. aa aab . . . 但当我对它进行排序时,所有的大写字母都列在上面,所有的小写字母都是 A. 艾娜 Aab . . . A. aa aab 你能帮我在不改变顺序的情况下插入单词吗?你可以这样做 Collections.sort(list,String

我正在编写一个代码,在字典文件(给定)中插入一个新词。 我在ArrayList中添加了新词,然后对数组进行排序,以便通过
collection.sort(ArrayList e)
保存一个已排序的字典,但它并没有完全满足我的字典的要求 A. A. aa aab . . . 但当我对它进行排序时,所有的大写字母都列在上面,所有的小写字母都是 A. 艾娜 Aab . . . A. aa aab

你能帮我在不改变顺序的情况下插入单词吗?

你可以这样做

Collections.sort(list,String.CASE_INSENSITIVE_ORDER);

您最好将条目存储在树集中:

TreeSet<String> entries = new TreeSet<String>(String.CASE_INSENSITIVE_ORDER).
TreeSet entries=新的TreeSet(字符串。不区分大小写\u顺序)。
这可能比重复添加到列表然后排序更有效。(我认为这意味着您要添加到列表中,然后对添加的每个条目进行排序;对于大型词典来说,这可能会变慢。不过,如果您在添加所有条目后对列表进行排序,这不是问题。)

为了使条目返回以便迭代set-entries.iterator()


这对于忽略重复项具有额外的(可能的)优势

首先,尝试使所有字典不区分大小写,,,然后添加给定单词,,,然后使用collection.sort,,,在排序的数组列表中,您有它在实际字典中的位置所需的索引,,,然后将它放在区分大小写的数组中,,,,,我在我的uni中也得到了相同的赋值,,,完成它真是一团糟:)
关于

您希望以不区分大小写的方式对字符串列表进行排序。请看这个问题及其答案:我在这里假设Android在其库中包含TreeSet类-我不是Android专家。哦,是的,它肯定会通过BST进行无意识的排序。谢谢。