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

Java 如何从数组中删除小于20个字符的项?,java,arrays,eclipse,Java,Arrays,Eclipse,我有一个Java数组。 我需要删除小于20个字符的项目。 这是否可能以及如何实现?Java中的数组是固定大小的,就像在C中一样。您不能从中删除项,只能更新其值。该值也可以是null,这可能会满足您的需要 但是,不建议在您的用例中使用数组;而是使用列表实现 ARAYLIST/是默认的选择,而 Link KealStuts对列表中的大量添加和删除可能是有意义的。 对于Java 8,最好的方法是使用Streams API: List<String> withLongStringsDisca

我有一个Java数组。 我需要删除小于20个字符的项目。
这是否可能以及如何实现?

Java中的数组是固定大小的,就像在C中一样。您不能从中删除项,只能更新其值。该值也可以是
null
,这可能会满足您的需要

但是,不建议在您的用例中使用数组;而是使用
列表
实现<代码> ARAYLIST/<代码>是默认的选择,而 Link KealStuts对列表中的大量添加和删除可能是有意义的。

对于Java 8,最好的方法是使用Streams API:

List<String> withLongStringsDiscarded = 
   myStringList.stream().filter(s -> s.length() <= 20).collect(Collectors.toList());
List withLongStringsDiscarded=

myStringList.stream().filter(s->s.length()迭代它们中的每一个,使用.length()函数检查大小,并相应地创建数组

ArrayList<String> values = new ArrayList<String>();


for (String str : strArray) {
    if (str.length() <= 20) {
         values.add(str);
    }

}

values.toArray();
ArrayList值=新的ArrayList();
用于(字符串str:strArray){

如果(str.length()使用以下代码,请从apache url下载common lang jar:


只需从数组中删除小于20个字符的项即可。只需检查其是否超过20个字符,然后将其删除:删除数组并检查长度,然后只需从数组中删除小于20个字符的项。我不希望为此类情况提供完整的解决方案。我认为他是个新手。。所以我马上就给了…你投了反对票吗?仅仅因为我认为他是一个新手你的帮助新手视为一个坏习惯。在这种情况下,它适用于所有给出答案的人…对吗?是的,其他人没有提供直接答案,但你这不会从数组中删除一个元素,它每次都会创建一个新数组。是的,你是正确的t、 每次都将返回一个新数组。我只是提供非常有用的ArrayUtils类以供使用。:)
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));