【发布时间】:2020-09-01 17:49:28
【问题描述】:
我在 Java 中有一个这样的数组列表,其中包含大约 242 个元素。
ArrayList<String> AL=new ArrayList<>();
AL.add("Apple");
AL.add("Banana");
AL.add("BArbie");
AL.add("Elephant");
AL.add("Zombie");
and so on...
插入值后,我使用排序
Collections.sort(AL);
现在我想根据第一个字符为这个 ArrayList 创建一个索引。在上面的示例中,如果我想定位 Z,它将是位置 5,依此类推。如果选择了 y,则给出最接近的先前值,在本例中为 Elephant。
这个解决方案目前是通过使用2个数据库表和java处理来处理数据来实现的。关于如何最小化复杂性的任何建议。
如果我们得到有关如何找到替代解决方案的指导,我们会非常高兴。
谢谢。
【问题讨论】:
-
我不认为ArrayList应该是这里数据结构的选择。您应该使用 Map/HashMap 来探索这个问题。
-
当然。让我试试看。
-
你想达到什么目标?查找以给定字符开头的字符串?查找字符串的索引?还有什么?
-
是的。我想找到以“C”等给定字符开头的单词的第一个实例。如果 C 不可用,则给出前一个单词的位置。