如何在Java中删除字符串数组中的所有元素?

16

我想要删除字符串数组中的所有元素,例如:

String example[]={"Apple","Orange","Mango","Grape","Cherry"}; 
有没有简单的方法来做到这一点,任何有关它的片段都会很有帮助。谢谢

从哪里删除?您只想从example[]数组中删除吗?还是您有另一个数组,想要删除example数组中存在的元素? - CoolBeans
删除所有元素... - Karthik
你想让你的 String[5] 变成 String[0] 吗? - Paul
1
这个回答解决了你的问题吗?在Java/Processing中清空一个数组 - Mr. Jain
6个回答

55
如果example不是final,那么一个简单的重新赋值就可以解决问题:
example = new String[example.length];
这假设你需要保持数组大小不变。如果这并非必要,则创建一个空数组:
example = new String[0];

如果它是final,那么您可以将所有元素都设为null

Arrays.fill( example, null );

2
第一种方法(重新分配)只有在必须执行一次或两次或几次时才应优先考虑。否则,每次都会为新数组分配内存。此外,第二种方法不能用于原始数组。 - milanchandna

9
example = new String[example.length];

如果您需要动态集合,您应该考虑使用适合您问题的java.util.Collection实现之一。例如:java.util.List。

4

list.clear() 文档中说明它用于清空 ArrayList。

在 Eclipse 中,list.removeAll() 没有任何文档说明。


4
重新分配。像这样:example = new String[(size)]

2
通常情况下,如果某个东西经常变化,人们会使用集合(collections)。
例如:
    List<String> someList = new ArrayList<String>();
    // initialize list
    someList.add("Mango");
    someList.add("....");
    // remove all elements
    someList.clear();
    // empty list

例如,ArrayList 使用支持的 Array。自动处理调整大小和这些事情。在大多数情况下,这是适当的方式。

0

只需重新初始化数组

example = new String[size]

如果它在运行循环中,只需再次重新声明它,

**for(int i=1;i<=100;i++) { String example = new String[size] //Your code goes here`` }**


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接