使用arrayList中的字符串

时间:2013-12-03 12:09:44

标签: java string arraylist

我有一个ArrayList,我在其中添加 [string1 string2 string3 code] 等字符串。这段代码只是我给每个字符串的一个数字。但是这段代码是我必须用来删除或使用字符串的。

所以假设我有一个带有下一个字符串的arrayList:

String_1 = string1 string2 string3 1
String_2 = string4 string5 string6 2
String_3 = string7 string8 string9 3

现在,如果我要删除 String_2 ,我必须执行此操作:delete string "code"delete string 2。这会从arrayList中删除 String_2 。 另外,如果我想从arraylist中提取 String_1 并将其设置为String,我必须使用代码来完成。

那么,在java中这样做的方法是什么?也许这对你们很多人来说很容易,但我对此很新,而且arrayList对我来说仍然有点困难。

3 个答案:

答案 0 :(得分:3)

首先,这更像是地图的用例,其中您的代码是键,字符串是值。请参阅http://docs.oracle.com/javase/7/docs/api/java/util/Map.html

Map<Integer, String> map = new HashMap<Integer, String>();
map.put(1, "string1");
map.put(2, "string2");
map.get(1)
...

第二种方法是创建一个新对象,将代码保存为Integer和String,如

public class StringHolder {
int code;
String string;

// constructor
// setter and getter
}

然后使用for-each循环遍历数组列表,并将对象的代码与给定的代码进行比较。

或者,粗鲁,不推荐的方式:做一些疯狂的字符串操作来确定代码在字符串中的位置。实际上,不要这样做。

答案 1 :(得分:2)

如果你必须使用ArrayList,我会建议这样的事情:

public static void main(String[] args) {
    List<String> yourData = new ArrayList<String>();
    yourData.add("string1 string2 string3 1");
    yourData.add("string4 string5 string6 2");
    yourData.add("string7 string8 string9 3");

    Iterator<String> dataIterator = yourData.iterator();
    while(dataIterator.hasNext()) {
        String d = dataIterator.next();
        if(d.endsWith("2")) {
            dataIterator.remove();
        }
    }
}

这假设代码是一个字符串,并且始终是数据的最后一个字。

答案 2 :(得分:1)

试试这个:

List<String> stringsArray = new ArrayList<String>();
stringsArray.add("string1 string2 string3 1");
stringsArray.add("string4 string5 string6 2");
stringsArray.add("string7 string8 string9 3");
Iterator<String> iter = stringsArray.iterator();

while( iter.hasNext() ) {
String s = iter.next();
if( s.endsWith("1") ) {
   iter.remove();
  }
}