gpt4 book ai didi

Java 如何获取ArrayList中元素的开始和结束位置

转载 作者:行者123 更新时间:2023-12-02 11:59:58 26 4
gpt4 key购买 nike

我在 ArrayList 中有一些动态值

ClassnameOne <!----Begin---->
Classnametwo <!----Begin---->
Classnamethree <!----Begin---->
Classnamethree <!----End---->
Classnametwo <!----End--->
ClassnameOne <!----End---->

我想要做的是获取元素的开始出现时间和结束时间。例如,ClassnameOne 为 5,Classnametwo 为 3。这是我到目前为止所做的:

ArrayList<String> one = new ArrayList<String>();
for (int i = 0; i < one.size(); i++) {
if(one.get(i).contains("<!----End---->") && one.get(i).equals(one.get(i+1))) {
break;
} else {
count++;
System.out.println(one.get(i));
}
System.out.println(count);
}

这并没有给出正确的答案。你能帮忙吗?

最佳答案

ArrayList<String> one = new ArrayList<String>();
for (int starti = 0; starti < one.size(); ++starti) {
String[] words = one.get(starti).split(" ", 2);
if (words[1].equals("<!----Begin---->")) {
int n = 0;
String sought = words[0] + " " + "<!----End---->";
for (int endi = starti + 1; endi < one.size(); ++endi) {
if (one.get(endi).equals(sought) {
n = endi - starti;
break;
}
}
System.out.printf("%s at %d covers %d lines.%n", words[0], starti, n);
}
}

假设名称不重复,否则将需要堆栈(或类似的)。

关于Java 如何获取ArrayList中元素的开始和结束位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47346134/

26 4 0