Java ArrayList删除,除非包含字符

Java ArrayList删除,除非包含字符,java,android,if-statement,arraylist,remove-if,Java,Android,If Statement,Arraylist,Remove If,Android Studio-Java 如何从ArrayList中删除除包含独立于大小写的特定字符之外的所有条目 String[] numbers = new String[] {"One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Eleven", "Twelve"}; ArrayList arrayList=new ArrayList<>(Arrays.asList(num

Android Studio-Java

如何从ArrayList中删除除包含独立于大小写的特定字符之外的所有条目

String[] numbers = new String[] {"One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Eleven", "Twelve"};

ArrayList arrayList=new ArrayList<>(Arrays.asList(numbers));


ArrayList.remove();
String[]numbers=新字符串[]{“一”、“二”、“三”、“四”、“五”、“六”、“七”、“八”、“九”、“十”、“十一”、“十二”};
ArrayList ArrayList=新的ArrayList(Arrays.asList(numbers));
ArrayList.remove();
例如,如果我选择字母“Ne”,我希望从arraylist中删除所有条目,但包含字符字符串“Ne”的条目除外。

您可以使用流

arrayList.stream().filter(x -> x.indexOf("ne") !=-1).collect(Collectors.toList());
List filtered=arrayList.stream().filter(x->x.contains(“ne”).collect(Collectors.toList());

在android中,用于非java-8

1.)遍历数组值

2.)应用
toLowerCase()
将值转换为小写,并检查它是否包含
ne
,如果否,则从列表中删除元素

for (String s: numbers) {
    if (!s.toLowerCase().contains("ne")) {
        arrayList.remove(s);
    }
}
列表元素

One
Nine

爪哇8

1)切勿使用

2.)在
过滤器中应用上述逻辑

ArrayList<String> arrayList=new ArrayList<>(Arrays.asList(numbers));
List<String> non_ne = arrayList.stream()
                    .filter(x->!x.toLowerCase().contains("ne"))
                    .collect(Collectors.toList());
ArrayList ArrayList=新的ArrayList(Arrays.asList(numbers));
List non_ne=arrayList.stream()
.filter(x->!x.toLowerCase().contains(“ne”))
.collect(Collectors.toList());
试试这个:

Iterator<String> iter = arrayList.iterator();
while (iter.hasNext()) {
  String s = iter.next();
  if (s.toLowerCase().contains("ne")) iter.remove();
}
Iterator iter=arrayList.Iterator();
while(iter.hasNext()){
字符串s=iter.next();
如果(s.toLowerCase()包含(“ne”))iter.remove();
}

查看您的代码,我认为您最好不要首先添加它们。你实际上是在说:

String[] numbers = new String[] {"One", "Two", "Three", ...}; //array
List list = Arrays.asList(numbers) //create a list
ArrayList arrayList = new ArrayList<>(list); //create an ArrayList

//remove those not matching from the ArrayList
String[]numbers=新字符串[]{“一”、“二”、“三”、…}//排列
List List=Arrays.asList(numbers)//创建一个列表
ArrayList ArrayList=新的ArrayList(列表)//创建一个ArrayList
//从ArrayList中删除那些不匹配的
我更喜欢只在列表中添加我需要的内容:

List<String> list = new ArrayList<>(); //a LinkedList may be more appropriate 
for (String number : numbers) {
    if (number.toLowerCase().contains("ne")) {
        list.add(number );
    }
}
List List=new ArrayList()//LinkedList可能更合适
用于(字符串编号:数字){
if(number.toLowerCase().contains(“ne”)){
列表。添加(编号);
}
}

包含独立于大写和小写的某些字符不幸的是,由于Android不允许我使用Lambda表达式,因此此代码不适用于我。。谢谢你的建议!如果您想要
lambda
,则可以使用独立于大写和小写的contain特定字符。不幸的是,此代码不适用于我,因为Android不允许我使用lambda表达式。。谢谢你的建议!这个代码实际上对我有用!太棒了,非常感谢!!:)我很高兴我能帮上忙,这在其他情况下当然很有帮助,但它并不能真正解决我的问题。无论如何,谢谢你的帮助!
List<String> list = new ArrayList<>(); //a LinkedList may be more appropriate 
for (String number : numbers) {
    if (number.toLowerCase().contains("ne")) {
        list.add(number );
    }
}