Java 从包含特定子字符串的arraylist元素中删除特定字符串

Java 从包含特定子字符串的arraylist元素中删除特定字符串,java,arraylist,Java,Arraylist,这是我的arrayList代码 String[] n = new String[]{"google","microsoft","apple"}; final List<String> list = new ArrayList<String>(); Collections.addAll(list, n); String[]n=新字符串[]{“谷歌”、“微软”、“苹果”}; 最终列表=新的ArrayList(); Collections.addA

这是我的arrayList代码

 String[] n = new String[]{"google","microsoft","apple"};
      final List<String> list =  new ArrayList<String>();
      Collections.addAll(list, n);
String[]n=新字符串[]{“谷歌”、“微软”、“苹果”};
最终列表=新的ArrayList();
Collections.addAll(列表,n);
如何从上述列表中删除包含
le
的所有元素。

是否有任何默认方法或循环,我们必须手动删除。告诉我如何操作。谢谢

列表的javadoc部分:

/**
 * Removes the first occurrence of the specified element from this list,
 * if it is present (optional operation).  If this list does not contain
 * the element, it is unchanged...
boolean remove(Object o);

我希望这就是您想要的。

javadoc for List的一部分:

/**
 * Removes the first occurrence of the specified element from this list,
 * if it is present (optional operation).  If this list does not contain
 * the element, it is unchanged...
boolean remove(Object o);

我希望这就是您想要的。

为什么要添加
然后删除

添加前检查

    String[] n = new String[]{"google","microsoft","apple"};
     final List<String> list =  new ArrayList<String>();
     for (String string : n) {
         if(string.indexOf("le") <0){
            list.add(string);
        }
    }
String[]n=新字符串[]{“谷歌”、“微软”、“苹果”};
最终列表=新的ArrayList();
for(字符串:n){

如果(string.indexOf(“le”)为什么要添加
然后删除

添加前检查

    String[] n = new String[]{"google","microsoft","apple"};
     final List<String> list =  new ArrayList<String>();
     for (String string : n) {
         if(string.indexOf("le") <0){
            list.add(string);
        }
    }
String[]n=新字符串[]{“谷歌”、“微软”、“苹果”};
最终列表=新的ArrayList();
for(字符串:n){

如果(string.indexOf(“le”)是,则必须从列表中的所有值循环,
这可能会帮助你

    String[] array  = new String[]{"google","microsoft","apple"};
    List<String> finallist =  new ArrayList<String>();
    for (int i = array.length -1 ; i >= 0 ; i--) 
    {
        if(!array[i].contains("le"))
            finallist.add(array[i]);
    }
String[]array=新字符串[]{“谷歌”、“微软”、“苹果”};
List finallist=new ArrayList();
对于(int i=array.length-1;i>=0;i--)
{
如果(!数组[i].包含(“le”))
添加(数组[i]);
}

是的,必须从列表中的所有值循环,
这可能会帮助你

    String[] array  = new String[]{"google","microsoft","apple"};
    List<String> finallist =  new ArrayList<String>();
    for (int i = array.length -1 ; i >= 0 ; i--) 
    {
        if(!array[i].contains("le"))
            finallist.add(array[i]);
    }
String[]array=新字符串[]{“谷歌”、“微软”、“苹果”};
List finallist=new ArrayList();
对于(int i=array.length-1;i>=0;i--)
{
如果(!数组[i].包含(“le”))
添加(数组[i]);
}

使用以下代码

import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;

public class RemoveElements {

    /**
     * @param args
     */
    public static void main(String[] args) {
         String[] n = new String[]{"google","microsoft","apple"};
          List<String> list =  new ArrayList<String>();
          Collections.addAll(list, n);
          System.out.println("list"+list);
          Iterator<String> iter = list.iterator();
          while(iter.hasNext()){
              if(iter.next().contains("le"))
                  iter.remove();
          }

          System.out.println("list"+list);
    }

}
import java.util.ArrayList;
导入java.util.Collections;
导入java.util.Iterator;
导入java.util.List;
公共类删除元素{
/**
*@param args
*/
公共静态void main(字符串[]args){
字符串[]n=新字符串[]{“谷歌”、“微软”、“苹果”};
列表=新的ArrayList();
Collections.addAll(列表,n);
系统输出打印项次(“列表”+列表);
迭代器iter=list.Iterator();
while(iter.hasNext()){
if(iter.next()包含(“le”))
iter.remove();
}
系统输出打印项次(“列表”+列表);
}
}

使用以下代码

import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;

public class RemoveElements {

    /**
     * @param args
     */
    public static void main(String[] args) {
         String[] n = new String[]{"google","microsoft","apple"};
          List<String> list =  new ArrayList<String>();
          Collections.addAll(list, n);
          System.out.println("list"+list);
          Iterator<String> iter = list.iterator();
          while(iter.hasNext()){
              if(iter.next().contains("le"))
                  iter.remove();
          }

          System.out.println("list"+list);
    }

}
import java.util.ArrayList;
导入java.util.Collections;
导入java.util.Iterator;
导入java.util.List;
公共类删除元素{
/**
*@param args
*/
公共静态void main(字符串[]args){
字符串[]n=新字符串[]{“谷歌”、“微软”、“苹果”};
列表=新的ArrayList();
Collections.addAll(列表,n);
系统输出打印项次(“列表”+列表);
迭代器iter=list.Iterator();
while(iter.hasNext()){
if(iter.next()包含(“le”))
iter.remove();
}
系统输出打印项次(“列表”+列表);
}
}

您可以使用java 8

list.removeIf(s -> s.contains("le"));

从Java8可以使用

list.removeIf(s -> s.contains("le"));

什么是le?listgoole中没有le,这里是apple我想从列表元素中删除这个特定于“le”的字符串什么是le?listgoole中没有le,这里是apple我想从列表元素中删除这个特定于“le”的字符串