如何从列表中删除字符串并存储它?

Nik*_*iko 0 java arraylist

我能够从List中删除一个Integer并将其存储在一个变量中.但是,我在使用String时遇到了麻烦.有没有办法删除列表中的字符串并存储它?下面的代码显示了我如何使用Integers:

List<Integer> list = new ArrayList<Integer>();
    list.add(1);
    list.add(2);
    list.add(3);
    Integer removedItem = list.remove(3);
Run Code Online (Sandbox Code Playgroud)

我做了同样的但这次使用String但不起作用:

List<String> list = new ArrayList<String>();
    list.add("Milk");
    list.add("Eggs");
    list.add("Butter");

    String removedItem = list.remove("Butter");
Run Code Online (Sandbox Code Playgroud)

是否可以存储被删除的东西(String)?我将不胜感激任何帮助!谢谢!

Rog*_*gue 5

你是混乱List#remove(index)List#remove(Object).第一个示例实际上并没有删除数字3,而是删除列表中的第4个(索引3)项并返回它的对象.如果list.remove(3)使用了String列表,则会返回第4个String对象.另外,如果您已经知道要移除的字符串,为什么还需要再次存储它?:

 String toRemove = "Butter";
 list.remove(toRemove); //we already know it's "Butter"
Run Code Online (Sandbox Code Playgroud)