【发布时间】:2016-07-31 06:32:53
【问题描述】:
我有一个使用 java 的 33000 个元素的排序 arrayList,我怎样才能只列出以子字符串开头的元素。
例如: 我有一个字符串“空气”。所以我需要每个以“air”开头的单词(“airplane”、“airforce”、“airline”等)
有没有一种方法可以做到这一点而无需逐个迭代?
【问题讨论】:
-
是的,有多种方法。到目前为止,您尝试过什么?
-
如果列表没有排序,那么它将涉及遍历整个列表!
-
For 循环与正则表达式模式,但我在另一个循环中使用它。对每个循环进行大量搜索也是如此......
-
ArrayList 已排序
-
然后二进制搜索你的前缀的插入索引,然后从那里开始。