如果我们知道索引,则从列表中检索字符串

时间:2012-01-11 08:26:35

标签: java

如果我们知道要检索的字符串的索引,有没有办法从ArrayList中检索字符串?例如在这个字符串中:

String text2 = "if(AGE_Y>15){\r\n"
                + "x=PROPERTY_LENGTH;\r\n"
                + "}";

添加此字符串的列表如下所示:if, (, AGE_Y, >, 15, ), {, ...

现在,如果我们遍历列表并将每个项目添加到StringBuilder并定义每个项目的索引:

for (int i = 0; i < list.size(); i++)
{
   a=list.get(i);
   strBuilder.append(a); 
   index = strBuilder.length() - a.length();
}

我们将确切地知道我们有什么索引字符串“PROPERTY_LENGTH”。

我的问题是,如何从List中检索字符串“x”?我问,因为在“x”以上的行(或任何将被命名的变量)我想在StringBuilder中插入其他东西。通常我们可以这样做:

 String previous=list.get(indexOfPropertyLength-2);
 strBuilder.insert(index-previous.length-1,"string to insert");

这一切都可能吗?

1 个答案:

答案 0 :(得分:1)

首先,您可以重写列表迭代以更有效地工作:

for (int i = 0; i < list.size(); i++) {
    a=list.get(i);
    index = strBuilder.length(); // (you don't have to calculate an index)
    strBuilder.append(a); 
}

要解决问题的标题,如果您想在给定索引的列表中查找字符串,您当然可以使用myList.get(myIntIndex);。但是,您似乎在询问如何找到给定字符串的索引:myList.indexOf(myString)或类似的东西。如果你可以更清楚一些,我们可能会提供更多帮助。您在编写混合汇编程序还是编译器?