我的ArrayList被称为values
,我可以使用下面的代码删除字符串。 ArrayList有字符串,负值和其他整数,我想删除但我不能使用remove方法,因为我不知道所有的值。这使我无法使用下面的代码。我希望将所有值保持在1到23之间,并删除其余值。
values.remove("O9N");
我尝试过使用这种方法,但它似乎并没有起作用。有人可以看看它,告诉我哪里出错了。
int col = 2;
List values = new ArrayList(table.getRowCount());
for (int row = 0; row < table.getRowCount(); row++) {
values.add(table.getValueAt(row, col));
}
List<String> thingsIWantToKeep = new ArrayList<>();
if (values.contains(1)) {
String s1 ="1";
thingsIWantToKeep.add(s1);
}
if (values.contains(2)) {
String s2 ="2";
thingsIWantToKeep.add(s2);
}
System.out.println(thingsIWantToKeep);
所以如果列表值中有1,它应该将值1添加到thingsIWantToKeep,但它只是打印出空白,即使列表值有1个init。
答案 0 :(得分:2)
List#retainAll
将&#34;仅保留此列表中包含在指定集合中的元素&#34;
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.mvl.dagger2testapp.MainActivity">
<RadioButton
android:id="@+id/radioButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/radioButton"
android:layout_alignParentTop="false"
android:layout_alignTop="@+id/radioButton"
android:layout_toEndOf="@+id/radioButton"
android:layout_toRightOf="@+id/radioButton"
android:gravity="center"
android:text="Label For RadioBUtton" />
<EditText
android:id="@+id/editText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView"
android:layout_toEndOf="@+id/radioButton"
android:layout_toRightOf="@+id/radioButton"
android:ems="10"
android:inputType="textPersonName"
android:text="Name" />
</RelativeLayout>
答案 1 :(得分:0)
创建包含要删除的元素的ArrayList并调用removeAll
方法:
list.removeAll(listToRemove);