在 Java 中从数组中删除对象
在 Java 中,数组是固定长度的元素集合。当您需要从数组中删除对象时,没有简单的内置方法可以做到这一点。
考虑一个字符串数组:
String[] foo = { "a", "cc", "a", "dd" };
解决方案:数组列表并返回
从数组中删除对象的一种方法是将其转换为列表,修改列表,然后转换
List<String> list = new ArrayList<>(Arrays.asList(foo)); list.removeAll(Arrays.asList("a")); foo = list.toArray(foo);
此过程保留原始数组的大小,最后一个剩余元素之后的元素设置为 null。
解决方案:从 List 新建数组
如果您想要一个完全符合所需大小的新数组,您可以执行以下操作以下:
foo = list.toArray(new String[list.size()]);
使用可重用
对于频繁使用,您可以考虑创建一个预定义的空字符串数组常量:
private static final String[] EMPTY_STRING_ARRAY = new String[0];
然后,可以重写去除函数as:
List<String> list = new ArrayList<> (); Collections.addAll(list, foo); list.removeAll(Arrays.asList("a")); foo = list.toArray(EMPTY_STRING_ARRAY);
或者,您可以使用愤世嫉俗者建议的方法:
foo = list.toArray(new String[list.size()]);
以上是如何高效地从 Java 数组中删除对象?的详细内容。更多信息请关注PHP中文网其他相关文章!