これは間違いありません。私はIteratorを使用しようとしたとき、IntelliJはIteratorが型パラメータを持つことができないと警告しています。これは真実ではありません。効率的なリストの操作方法
どういうわけか、IntelliJがjava 1.4のjavadocを表示しているようです。私はまだそれを修正しようとしています。ありがとう。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^
私は、APIからListを返すjavaプログラムを開発しました。この取り扱いの
私の方法は次のとおりです。
ArrayList<SomeObject> arrayList = new ArrayList<>(apiThatReturnsAList);
for (SomeObject someObject : arrayList) {
...
}
私のコードレビューアは、これはそれをコピーデータので、それに対処するためのより少ない効率的な方法であるかもしれない示唆しています。彼はIteratorを使うことを勧めました。しかし、私は、コードは次のようになります見つける:
Iterator iterator = apiThatReturnsAList.iterator();
while (iterator.hasNext()) {
SomeObject someObject = (SomeObject)iterator.next();
}
すると、それは安全ではありませんので、我々は見たくない、ここで醜い鋳造があります。
したがって、このAPIを処理してデータをコピーしない効率的な方法はありますか?
ありがとうございます!
ジェネリックを使用する必要があります。 – SLaks
なぜあなたは 'List'をコピーする必要があると思いますか?あなたはなぜ**生の型** 'Iterator'を使っていますか?そしてなぜあなたは 'ArrayList'を直接参照していますか?私があなたの批評家であったなら、私はこの混乱についてかなりのコメントを持っていました。 –
最初に返されたリストを反復するだけで何が問題になりますか? – GhostCat