Java - Listから特定の文字列が含まれていることを確認

ArrayListに特定のStringがいるかどうかを確認する方法を紹介します。

contains()

次のように List.contains()を利用すれば、簡単に特定の文字列を検索することができます。

List<String> list = new ArrayList<>();
list.add("Apple");
list.add("Kiwi");
list.add("Orange");

String fruit = "Orange";

if (list.contains(fruit)) {
    System.out.println(fruit + " is in the List");
}

Output:

Orange is in the List

for

上記のコードは、forを使用して、簡単に実装することもできます。

List<String> list = new ArrayList<>();
list.add("Apple");
list.add("Kiwi");
list.add("Orange");

String fruit = "Orange";

for (String item : list) {
    if (item.equals(fruit)) {
        System.out.println(fruit + " is in the List");
        break;
    }
}

Output:

Orange is in the List

もし文字列がListにあるとき、indexも一緒に取得したい場合は、次のように実装します。

List<String> list = new ArrayList<>();
list.add("Apple");
list.add("Kiwi");
list.add("Orange");

String fruit = "Orange";

for (int i = 0; i < list.size(); i++) {
    String item = list.get(i);
    if (item.equals(fruit)) {
        System.out.println(fruit + " is in the List. The index is " + i);
        break;
    }
}

Output:

Orange is in the List. The index is 2

Iterator

forのようにIteratorを使用して、Loopを作成したい文字列を検索することができます。

List<String> list = new ArrayList<>();
list.add("Apple");
list.add("Kiwi");
list.add("Orange");

String fruit = "Orange";

Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
    String item = iterator.next();
    if (item.equals(fruit)) {
        System.out.println(fruit + " is in the List");
    }
}

Stream

Streamを利用して、リストから特定の文字列を検索することができます。

List<String> list = new ArrayList<>();
list.add("Apple");
list.add("Kiwi");
list.add("Orange");

String fruit = "Orange";
List<String> result = list.stream()
        .filter(str -> str.trim().equals(fruit))
        .collect(Collectors.toList());

if (result.size() > 0) {
    System.out.println(fruit + " is in the List: " + result);
}

Output:

Orange is in the List: [Orange]

Related Posts

codechachaCopyright ©2019 codechacha