从数组中删除元素 (Java)
有没有快速(而且好看)的方法从Java中的数组中删除元素?
你可以使用 commons lang 的 ArrayUtils。
array = ArrayUtils.removeElement(array, element)
你的问题不是很清楚。从你自己的答案中,我可以更好地分辨出你想做什么:
public static String[] removeElements(String[] input, String deleteMe) {
List result = new LinkedList();
for(String item : input)
if(!deleteMe.equals(item))
result.add(item);
return result.toArray(input);
}
注意:这是未经测试的。错误检查作为练习留给读者(如果其中任何一个或为空,我会抛出;空列表输入上的空列表没有意义。从数组中删除空字符串可能是有意义的,但我也会将其作为练习;目前,当它尝试调用等于 if 为 null 时,它将抛出一个。IllegalArgumentException
input
deleteMe
NPE
deleteMe
deleteMe
我在这里做出的选择:
我使用了.迭代应该同样快,并且避免任何调整大小,或者如果您最终删除了大量元素,则分配了太大的列表。可以使用 ,并将初始大小设置为输入的长度。它可能不会有太大的区别。LinkedList
ArrayList