最近、私はプロジェクトのためにEclipseでBukkit Minecraftプラグインを作っています。私はプレーヤーのオブジェクトを格納するためにarraylistを使っています。コードを最適化しようとすると、Java Collectionを使ってオブジェクトのListを定義する別の方法があることに気付きました。今では基本的なことはありますが、コレクションはarraylistとは異なり、インデックスに基づいて変数を参照することはできませんが、私のコードでは使用していないので、CPUに関する他の利点またはメモリ使用量? 注*変数をCollectionとして渡すことで、他の形式のリストにキャストする方が簡単ですが、私は自分のコードでこれをやっていないと確信しています。利点。CollectionListとArrayListのCPUとメモリ使用量には違いがありますか?
-3
A
答えて
2
Collection
はクラスではなく、インターフェイスです。すなわち、実際にはdo何もしません。利用可能なメソッドを定義するだけです。実際、ArrayList
はCollection
インターフェイスをサポートしています。
ArrayList<Integer> list = new ArrayList<>();
しかし、あなたは次のことを行うことができます、そして、彼らは機能的に同じです::だから、あなたはこれを行うことができ、あなたが今ArrayList
を参照しているため、後者の例では、
Collection<Integer> list = new ArrayList<>();
しかし、 Collection
としてCollection
のメソッドにしかアクセスすることはできません。発見したとおり、ArrayList
よりもはるかに制限されています。
ArrayList
Collection
を拡張List
インターフェースを、サポートしており、追加のリストのメソッドを提供し、あなたはこれを行うことができます(これは一般的に推奨されます): List<Integer> list = new ArrayList<>();
のでCollection
対ArrayList
のパフォーマンス本当に有効な質問ではありません。私があなたと思うものは、異なるList
実装の比較パフォーマンスです。が知りたいです。 Javaの主なシングルスレッド実装は、ArrayList
とLinkedList
です。これらは次のように作成されます:
List<Integer> arrayList = new ArrayList<>();
List<Integer> linkedList = new LinkedList<>();
それぞれの長所と短所があります。例えば、:When to use LinkedList over ArrayList?
関連する問題
- 1. プロセスごとにCPUとメモリの使用量を追跡する
- 2. 私のCプログラムのCPU使用量とメモリ使用量を表示したい
- 3. C++では、 "enum class"と "enum"の間でメモリ使用量に違いがありますか?
- 4. WMIでプロセスのCPUとメモリ使用量を知る方法は?
- 5. Jprofiler - CPUの記録中にJprofilerがCPUとメモリを大量に使用しています
- 6. TensorflowのCPUとメモリの使用量を制限する
- 7. プロセスのCPUとメモリ使用量を監視する
- 8. ノードプロセスのCPUとメモリ使用量を制限する方法
- 9. TomcatのメモリとCPU使用量を調整する
- 10. JVMメモリとCPU使用率の実際的な制限はありますか?
- 11. CPUとメモリの使用スクリプト
- 12. 関数メモリとCPU使用量の分析
- 13. CPU使用量とObject.wait
- 14. Google Maps SDK for iOSを使用しているときのメモリとCPU使用量が非常に高い
- 15. NewockicはDockerのコンテナのCPUとメモリ使用量を表示しません
- 16. ローカル(Windows)とVPS(Fedora)のPHPメモリ使用量の違い
- 17. Pythonでのメモリ使用量:memory_profilerとguppyの違いは何ですか?
- 18. CoreDataメモリ使用量:iOS 5とiOS 4.3の違い?
- 19. mysqldのパフォーマンスが高いCPU使用率とメモリ使用率
- 20. .html.twigと.twigの使用に違いはありますか
- 21. Context.getTextとContext.getResources.getTextの使用に違いはありますか?
- 22. ASP.NETとメモリ使用量
- 23. Django:select_related()とメモリ使用量
- 24. メモリ使用量VS。 iPhoneのCPU使用率
- 25. スレッドメモリとCPU使用量のトラッキング
- 26. C#コードのメソッドのCPU使用量とメモリ使用量を測定する方法
- 27. LinuxプロセスのCPU使用量とメモリ使用量を記録するためのシェルスクリプト
- 28. CPU使用率、ディスク容量、メモリ使用量、ユーザー数を取得するpowershellスクリプト
- 29. プロセスのCPU使用量を制限する方法はありますか?
- 30. './**/*.js'を見ると、CPU使用量が過剰になります
'ArrayList'は、メモリ使用量の点で最も効率的なコレクションの1つです(基本的には参照配列です)。 - 何かに切り替えるときに、その点で何を期待しているのか分かりません。 – assylias
この全体的な質問は基本的な誤解に基づいています。 'Collection'はクラスではなく、インタフェースであり、' Collection'のCPUとメモリの性能については何の意味もありません。 JavaチュートリアルやJavaの教科書を読んでおくことをお勧めします。長期的には時間を節約できます。 –