假设我在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);
}
}