📜  java检查字符串是否在arraylist中出现两次 - Java(1)

📅  最后修改于: 2023-12-03 15:02:05.079000             🧑  作者: Mango

Java 检查字符串是否在 ArrayList 中出现两次

在 Java 编程中,我们经常需要检查一个字符串是否在一个 ArrayList 中出现过两次及以上。本文将介绍如何在 Java 中实现这一功能。

方法一:使用 Map

使用 Map 可以轻松地实现对每个字符串出现的次数进行计数,然后再判断是否有出现两次及以上的字符串。

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("apple");
        list.add("banana");
        list.add("orange");
        list.add("apple");
        list.add("grape");

        Map<String, Integer> map = new HashMap<>();
        for (String s : list) {
            Integer count = map.getOrDefault(s, 0) + 1;
            map.put(s, count);
        }

        boolean result = false;
        for (Map.Entry<String, Integer> entry : map.entrySet()) {
            if (entry.getValue() >= 2) {
                result = true;
                break;
            }
        }

        System.out.println(result);
    }
}

代码说明:

  1. 首先创建一个 ArrayList,添加一些字符串元素。
  2. 然后创建一个 Map,遍历 ArrayList 中的元素,将每个字符串的出现次数存入 Map 中。这里使用了 Map 的 getOrDefault 方法来避免代码中的一些麻烦。
  3. 最后遍历 Map,检查是否有出现两次及以上的字符串,返回结果。
方法二:使用 Collections.frequency

Java 的 Collections 类提供了一个 frequency 方法,可用于统计某个元素在集合中出现的次数。因此我们可以通过 Collections 类来快速地实现该功能。

import java.util.ArrayList;
import java.util.Collections;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("apple");
        list.add("banana");
        list.add("orange");
        list.add("apple");
        list.add("grape");

        boolean result = false;
        for (String s : list) {
            if (Collections.frequency(list, s) >= 2) {
                result = true;
                break;
            }
        }

        System.out.println(result);
    }
}

代码说明:

  1. 首先创建一个 ArrayList,添加一些字符串元素。
  2. 然后遍历 ArrayList 中的每个元素,利用 Collections 类的 frequency 方法统计该元素在 ArrayList 中出现的次数,判断是否出现两次及以上。
  3. 最后返回结果。

以上为两种常用方法,可以根据自己的需求进行选择和修改。