gpt4 book ai didi

Java ArrayList 查找多个字符串

转载 作者:行者123 更新时间:2023-12-01 16:02:16 24 4
gpt4 key购买 nike

假设我在 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 位置、Y 位置、 map 已打开、命令掉落、掉落它的用户

然后假设我将其分开这样做:

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

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

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

我想找到 X、Y 和 Map 的位置,或者在本例中,itemGrnd[1]、itemGrnd[2] 和 itemGrnd[3] 在我通过 serverItems.get( 找到的 ArrayList 中的任何其他字符串中相同)我)。

如果我们确实找到任何...(在我上面提供的示例中...x、y 和映射对于 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),我只想做一次。

谢谢

最佳答案

嗯,找出 ArrayList 有多少个 String 非常简单:

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);
}
}

关于Java ArrayList 查找多个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3542226/

24 4 0