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. Java を使用している場合に使用することをお勧めCollectionします。

2. Java とプロセッサが十分に高速になり、Array と Collection の間のパフォーマンスの違いに気付くことはありません。

3. Collection多くの柔軟性と、List、Set、Maps などから選択する選択肢を提供します。必要に応じてどれでも構いません。

4. List<String>私の意見では、行く方法になります。

于 2012-07-25T10:28:11.910 に答える
2

astring[]とaの両方List<string>により、メソッドはそれらを変更できます。

実際に使用する必要があるのIterable<string>は、例で行うことを実現するためだけです。

Iterable<string>それはあなたが必要とする最小限を表現しているので私は使用します(あなたはそれを繰り返すことができます)。string[]これにより、aまたはaのいずれかをメソッドに渡すことができるという追加の利点も得られますList<string>

最も制限されたタイプを使用して、メソッドが何をするかについての意図を伝えることができます。

于 2012-07-25T10:12:43.793 に答える
2

それは完全に使用法に依存します。

軽量に保ちたい場合は、を使用してString[]ください。

挿入削除の並べ替えやその他の操作を行っている場合、または将来それらを使用する可能性がある場合は、に進んでList<String>ください。

于 2012-07-25T10:13:15.127 に答える
0

まず、メソッドをどのように呼び出すかを考えます。String 配列は既にありますか、それとも構築する必要がありますか? どのように構築する予定ですか?クライアント コードの作業を軽減するソリューションを選択してください。

于 2012-07-25T10:29:22.660 に答える