假设我在ArrayList中有两个相同的字符串...是否可以检查该字符串?还有没有一种方法可以检查ArrayList中的一个完全相同的字符串有多少次?

因此,假设我有以下ArrayString。

os.println(itemIDdropped + "|" + spawnX + "|" + spawnY + "|" + currentMap + "|drop|" + me.getUsername());
1. 1|3|5|1|drop|Dan
2. 2|5|7|2|drop|Luke
3. 1|3|5|2|drop|Dan
4. 3|3|5|1|drop|Sally


这是1-4个字符串的数字/字母的含义...
项目ID,X pos,Y pos,启用地图,命令放置,放置它的用户

然后假设我将其拆分为:

String[] itemGrnd = serverItems.get(i).split("\\|");


现在,假设我有一个像这样的for循环:

for (int i = 0; x < serverItems.size(); i++) {
    System.out.println(serverItems.get(i));
}


我想找到X,Y和Map的位置,在这种情况下,我通过serverItems.get(i)找到的ArrayList中的任何其他String中的itemGrnd [1],itemGrnd [2]和itemGrnd [3]都相同。

如果我们确实找到任何...(在上面示例中提供的...,x,y和map分别与1和4相同...则创建一个IF语句一次执行...因为我不想这样做:
(顺便说一句,我确实会跟踪客户端的变量,所以不必担心。是的,我知道它的名称分别是spawnX和spawnY ..这就是当前的X,Y。

if (spawnX.equals(Integer.parseInt(itemGrnd[1])) &&
    spawnY.equals(Integer.parseInt(itemGrnd[2])) &&
    currentMap.equals(Integer.parseInt(itemGrnd[3]))) {
}


现在,如果我要这样做。...1和4已通过此处处理。如果我们发现多个字符串(例如1和4),我总是希望一次执行。

谢谢

最佳答案

好了,找出有多少个String ArrayList很简单:

public class ArrayListExample {
    private static final String TO_FIND = "cdt";

    public static void main(String[] args) {
        ArrayList<String> al = new ArrayList<String>();
        al.add("abc");
        al.add("dde");
        //4 times
        al.add(TO_FIND);
        al.add(TO_FIND);
        al.add(TO_FIND);
        al.add(TO_FIND);

        ArrayList<String> al1 = (ArrayList<String>) al.clone();
        int count = 0;
        while (al1.contains(TO_FIND)) {
            al1.remove(TO_FIND);
            count++;
        }
        System.out.println(count);
    }
}

10-05 18:21
查看更多