首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

计算ArrayList中给定字符串的出现次数

计算ArrayList中给定字符串的出现次数,可以使用以下方法:

  1. 遍历ArrayList,使用String的equals()方法比较每个元素是否与给定字符串相等,如果相等则计数器加1。
  2. 使用Java 8的Stream API,可以更简洁地实现相同的功能。

以下是示例代码:

代码语言:java
复制
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class ArrayListStringCount {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>(Arrays.asList("apple", "banana", "orange", "apple", "orange", "banana"));
        String target = "banana";
        int count = countOccurrences(list, target);
        System.out.println("The target string \"" + target + "\" appears " + count + " times in the ArrayList.");
    }

    public static int countOccurrences(List<String> list, String target) {
        int count = 0;
        for (String s : list) {
            if (s.equals(target)) {
                count++;
            }
        }
        return count;
    }
}

输出结果:

代码语言:txt
复制
The target string "banana" appears 2 times in the ArrayList.

使用Java 8的Stream API实现:

代码语言:java
复制
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class ArrayListStringCount {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>(Arrays.asList("apple", "banana", "orange", "apple", "orange", "banana"));
        String target = "banana";
        int count = countOccurrences(list, target);
        System.out.println("The target string \"" + target + "\" appears " + count + " times in the ArrayList.");
    }

    public static int countOccurrences(List<String> list, String target) {
        return (int) list.stream().filter(target::equals).count();
    }
}

输出结果与上述示例相同。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

GeoHash索引

GeoHash索引是一种基于B树索引,又结合了格网索引的思想的使用广泛的空间索引算法。GeoHash将空间位置编码为一串字符,通过字符串的比较可以得到空间的大致范围。这种编码方法起初被用于以唯一的URL标识地图上的点实体,而点实体一般是以经纬度标识的,所以问题就转变为如何使用URL标识经纬度坐标。下面举例说明GeoHash编码的具体实现步骤。设定武汉大学的经纬度坐标是(114.360734E, 30.541093N),首先,可以通过如下算法对纬度30.54进行逼近编码: (1)对维度区间[-90,90]进行二分为[-90,0)和[0,90],称为左右区间,可以确定30.541093属于右区间[0,90],给标记为1; (2)接着将区间[0,90]进行二分为 [0,45)和[45,90],可以确定30.541093属于左区间 [0,45),给标记为0; (3)递归上述过程30.541093,如果给定的纬度属于左区间,则记录0,如果属于右区间则记录1,这样随着算法的进行会产生一个序列101010110110111,序列的长度跟给定的区间划分次数有关。 (4)同样的方法,对经度区间[-180, 180]进行编码,可以得到一个二进制序列110100010101001。 (5)合并经纬度编码,偶数位放经度编码(第一位从0开始),奇数位放纬度编码,把两串编码组合生成新串11100 11001 00011 10011 01100 10111。 (6)对合成的新的二进制串,每五位转成十进制数得到28,25,3,19,12,23,然后再进行Base32编码得到该经纬度的GeoHash编码为wt3mdr。

03
领券