我处于一种奢侈的位置,我可以自由选择是否将以下方法实现为字符串数组:
public void addColumns(String[] columns)
{
for(String column : columns)
{
addColumn(column);
}
}
或作为字符串集合:
public void addColumns(List<String> columns)
{
for(String column : columns)
{
addColumn(column);
}
}
实施此选项的最佳选择是什么?我正在使用Java。
答案 0 :(得分:3)
1。在您使用Java时,我希望您使用Collection
。
2。 Java,处理器变得足够快,您不会注意到数组或集合之间的任何性能差异。
3。 Collection
为您提供了很多灵活性,以及从列表,设置,地图等中进行选择的选择.....适用于您的需要。
4。 List<String>
将成为我认为的方式。
答案 1 :(得分:2)
string[]
和List<string>
都允许该方法改变它们。
您实际上只需要使用Iterable<string>
来实现您在示例中所做的操作。
我使用Iterable<string>
因为它表达了你需要的最小值(你可以迭代它)。这还有一个额外的好处,即您可以将string[]
或List<string>
传递给方法。
使用最受限制的类型,您可以传达该方法的意图。
答案 2 :(得分:2)
完全取决于使用情况。
如果您想保持它的重量轻,请使用String[]
。
如果您正在进行插入删除排序和其他操作,或者将来可能会使用它们,请转到List<String>
。
答案 3 :(得分:0)
首先想想你将如何调用你的方法。你是否已经拥有String数组,或者你必须构建它?你打算如何建造它?选择能够降低客户端代码工作量的解决方案。