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

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

Susan Sarandon
发布: 2024-12-29 12:59:11
原创
320 人浏览过

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板