如何从数组中删除小于20个字符的项目?

时间:2014-08-04 09:04:07

标签: java arrays eclipse

我有一个Java数组。 我需要删除小于20个字符的项目。 这可能吗?如何?

3 个答案:

答案 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));