gpt4 book ai didi

java - ArrayList 最后一个索引

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

import java.util.Scanner;
import java.util.*;
public class bracketMatch {

public bracketMatch() {
}


public static void main (String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("enter seq");
String[] seq = scan.nextLine().split("");
ArrayList<String> temp = new ArrayList<>();
int x = 0;
String check = null;
System.out.println(Arrays.toString(seq));
for(String brak : seq)
{
switch(brak)
{
case "(":
temp.add("(");

break;
case "[":
temp.add("[");

break;
case "{":
temp.add("{");

break;
case "<":
temp.add("<");

break;
case ")":
temp.add( ")");

break;
case "]":
temp.add("]");

break;
case "}":
temp.add("}");

break;
case ">":
temp.add(">");

break;


}

}


x = temp.lastIndexOf("(");
System.out.println( x);
/* if(x != -1)
{
temp.remove(check);
temp.remove(x);

}*/


System.out.println(temp.toString()) ;

}

}

上面的代码是用于匹配括号的,但我偶然发现了ArrayList方法lastIndexOf
但是,它没有获取正确的索引,并且像 indexOf 方法一样工作。

我应该使用堆栈还是linkedlist而不是ArrayList

此外,有关迭代数组列表并删除其元素的任何帮助,因为迭代器和 foreach 会出错。

最佳答案

您能给我们更多信息吗?方法lastIndexOf工作正常,它为您提供列表中对象的最后一次出现,它不像indexOf那样工作。如果您想从数组列表中删除最后一次出现的“(”,只需取消注释您的 temp.remove(x) 行即可。

关于java - ArrayList 最后一个索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61116456/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com