私は、Javaクラスのメソッドに似たロジックを持っています(実際のコードではありませんが、これは単純な例です)。これは非効率的である配列にJavaの値が含まれているかどうかを確認する最も効率的な方法は?
:PRを確認するために自分自身を割り当てられ
private Boolean method(Boolean booleanValue, SomeObject object) { return booleanValue ? Arrays.asList(object.getStringsArray()).contains("string") : false; }
協力者は、次のコメントを与えました。新しいデータ構造を作成して反復し、特定の文字列があるかどうかを確認します。
getStringsArray()
方法はString[]
返し、そうするためのループArrays.asList()
より良く使用してのだろうか?
これを達成するために、どちらの方が効率的ですか?
'Arrays.asList'はラッパーを返します。問題はありません。 'object.getStringsArray'は、それが何をするか、そしてこの文字列をチェックするためのより良い方法があるかどうかによって、問題になるかもしれません。恐ろしい方法です。 – user2357112
最初の引数は完全に偽です。 – nucleon
私はそれが非効率であることに同意します。 'List'オブジェクトは配列によってバッキングされているため、パフォーマンスの低下はありません。 [これを行う方法の標準的な答え](http://stackoverflow.com/a/4962413/5743988)でもこのメソッドが使用されています。 – 4castle