我有一个Java数组。 我需要删除小于20个字符的项目。 这可能吗?如何?
答案 0 :(得分:1)
Java中的数组是固定大小的,就像在C中一样。您不能从中删除项目,只能更新其值。该值也可以是null
,这可能符合您的目的。
但是,建议不要在您的用例中使用数组;而是使用List
实现。 ArrayList
是默认选项,LinkedList
可能对列表中间的大量添加和删除有意义。
使用Java 8,最好的方法是使用Streams API:
List<String> withLongStringsDiscarded =
myStringList.stream().filter(s -> s.length() <= 20).collect(Collectors.toList());
答案 1 :(得分:0)
迭代它们,使用.length()函数检查大小,并相应地创建数组。
ArrayList<String> values = new ArrayList<String>();
for (String str : strArray) {
if (str.length() <= 20) {
values.add(str);
}
}
values.toArray();
答案 2 :(得分:0)
使用以下代码,从apache url下载常用的lang jar:http://mirror.cc.columbia.edu/pub/software/apache//commons/lang/binaries/commons-lang3-3.3.2-bin.zip
String[] arr = {"1","ab","aaa","sdfsdfew","ssdd"};
for(String s : arr){
if(s.length()>3){
arr = ArrayUtils.removeElement(arr, s);
}
}
System.out.println(ArrayUtils.toString(arr));