首页 >Java >java教程 >如何高效地从 Java 数组中删除对象?

如何高效地从 Java 数组中删除对象?

Susan Sarandon
Susan Sarandon原创
2024-12-29 12:59:11333浏览

How Can I Efficiently Remove Objects from a Java Array?

在 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn