3

我处于奢侈的位置,我可以自由选择是否将以下方法实现为字符串数组:

public void addColumns(String[] columns)
{
    for(String column : columns)
    {
        addColumn(column);
    }
}

或作为字符串的集合:

public void addColumns(List<String> columns)
{
    for(String column : columns)
    {
        addColumn(column);
    }
}

实现这一点的最佳选择是什么?我正在使用 Java。

4

4 回答 4

3

1.Collection当你使用 Java 时,我更喜欢你使用。

2. Java 和处理器已经变得足够快,以至于您不会注意到 Array 或 Collection 之间的任何性能差异。

3. Collection为您提供了很大的灵活性,以及​​从 List、Set、Maps 等中进行选择的选择......任何适合您的需要。

4. List<String>将是我认为要走的路。

于 2012-07-25T10:28:11.910 回答
2

Both a string[] and a List<string> allow the method to mutate them.

You only actually need to use an Iterable<string> to achieve what you do in your example.

I'd use Iterable<string> because it expresses the minimum that you need (you can iterate over it). This also gives the added benefit that you can pass either a string[] or a List<string> into the method.

Using the most restricted type you can communicates intent of what the method will do.

于 2012-07-25T10:12:43.793 回答
2

It entirely depends on the usage.

If you want to keep it light weight then use String[].

If you are making insertion deletion sorting and other operations or may use them in future then go for List<String>.

于 2012-07-25T10:13:15.127 回答
0

首先想想你将如何调用你的方法。您是否已经拥有 String 数组,或者您必须构建它?你打算如何建造它?选择可以减少客户端代码工作量的解决方案。

于 2012-07-25T10:29:22.660 回答