![](/img/trans.png)
[英]Java ArrayList, how to ignore a value from the object when using contains()
[英]How to remove an object from Arraylist by using contains
我已經添加了一些對象來列出。 如果滿足某些條件,我想刪除 object。
例如:在我的列表中,我有 object 如下
[test/te,str1,str2]
場景:不,我想刪除包含test
的 object
List<Object> Extraprimitivesintarget = new ArrayList<Object>();
if(ens2.size()!=0)
{
HashSet s1=null;
HashSet s2=null;
for (Entry<String, JsonElement> en1 : ens1) {
for (Entry<String, JsonElement> en2 : ens2)
{
s1=new HashSet<>();
s1.add(en1.getKey());
s2=new HashSet<>();
s2.add(en2.getKey());
}
}
//System.out.println("S1 is:"+s1);
//System.out.println("S2 is:"+s2);
Set<String> diff=Sets.symmetricDifference(s1, s2);
for(String difference:diff)
{
if(ens1.toString().contains(difference)&&!ens2.toString().contains(difference))
{
Extraprimitivesintarget.add(parentPath1+"/"+difference);
}
else if(ens2.toString().contains(difference)&&!ens1.toString().contains(difference))
{
Extraprimitivesintarget.add(parentpath2+"/"+difference);
}
**if(ens1.toString().contains(difference)&&ens2.toString().contains(difference)){
Extraprimitivesintarget.remove(difference);
System.out.println(Extraprimitivesintarget);
}**
}
如果要從List
中刪除元素,請嘗試使用以下代碼。
@Test
public void test001() {
List<String> list = new ArrayList<>();
list.add("Testt");
list.add("TsT");
list.add("test");
list.add("tes");
list.add("tesA");
list.add("tesc");
//in JAVA 8
System.out.println("before removing" + list);
list.removeIf(l -> "test".equals(l));//remove "test" element
System.out.println("after removing" + list);
//before JAVA 8
System.out.println("before removing" + list);
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
String s = iterator.next();
if ("tes".equals(s)) {
iterator.remove();
}
}
System.out.println("after removing" + list);
}
實際上,您的問題還不夠清楚。 如果您想通過某些特定文本從列表中刪除項目。 試試下面的一個。 我希望它會幫助你。
RemoveItemsFromListByContains.java
import java.util.ArrayList;
import java.util.Iterator;
class RemoveItemsFromListByContains {
public static void main(String[] args) {
// creating an Empty Integer ArrayList
ArrayList<String> list = new ArrayList<String>();
list.add("test/te");
list.add("str1");
list.add("str2");
// Print list of items before remove
System.out.println(list);
removeItemByContainStr(list, "test");
// Print list of items after removed
System.out.println(list);
}
private static void removeItemByContainStr(ArrayList<String> list, String containStr) {
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
String str = (String) iterator.next();
if (str.contains(containStr)) {
iterator.remove();
}
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.