Java ArrayList使用第一个字母进行搜索

时间:2016-11-09 00:43:34

标签: java arraylist

我在java中有一个ArrayList,里面有一堆字符串项,我希望能够指定一个字母,然后获取所有以指定的单个字母开头的字符串。

我可以调用哪种方法使这个过程变得简单?或者我只需要遍历索引0处的数组列表中的每个项目?

我不太了解阵列列表,但我正在进行的任务要求我使用它们,我希望有人可以为我阐明这一点! :-)

另外我知道这里有类似的问题告诉你如何搜索数组列表,我只想知道如何在查找数组列表中每个项目的第一个字母时查看字母是否匹配用户给它的字母。

4 个答案:

答案 0 :(得分:1)

也许,这样的事情:

public static List<String> getPossibleStrings(List<String> strings, String query) {
        List<String> result = new ArrayList<String>();
        for (String s: strings) {
            if (s.startsWith(query))
             result.add(s);
        }

        return result;
 }

答案 1 :(得分:1)

如果您在几年后查看此内容,但 startsWith 不起作用或您不想使用它,请尝试这样的操作。

public static int findAmount(ArrayList<String> items, String letter){

int count = 0;

      for (int i = 0; i < items.size(); i++) {
        
        if (items.get(i).substring(0, 1).equals(letter)) {

        count++;

        }
      }
      return count;
}

答案 2 :(得分:0)

据我所知,没有java方法,给定一个字符,将搜索ArrayList并返回以该字母开头的所有字符串。我相信你需要遍历ArrayList并为每个String,看看它是否以你要查找的字符开头。您可以使用substring方法获取String的第一个字符:

Hello A!

答案 3 :(得分:0)

可以使用Java 8 streams

List<String> myList = Arrays.asList("apple", "grape");
String start = "a";
myList.stream()
    .filter(x -> x.startsWith(start))
    .forEach(System.out::println);

输出apple