Java ArrayとArrayListの違い
1)鋭い説明:
ArrayListは「容量を自動的に増幅するアレイ」と考えてください。
2)配列([]):最も効率的です。
アレイリスト:容量は動的に成長する可能性があります。
3)提案:
効率とタイプの検証に基づいて、配列はアレイサイズを決定できない場合にのみ使用する必要があります。
しかし、より一般的な問題を解決しようとすると、配列の機能が制限されすぎる可能性があります。
4)Javaのすべてはオブジェクトであり、配列もオブジェクトです。使用する配列タイプに関係なく、
配列名自体は実際には参照であり、ヒープ内の実際のオブジェクトを指しています。
このオブジェクトは、「配列初期化構文」を介して自動的に生成するか、新しい式で手動で生成できます。
5)アレイ自体がオブジェクトの参照であるため、アレイは関数返信値として使用できます。
6)オブジェクトアレイは、使用中の基本的なタイプアレイとほぼ同じです。前者は基本タイプの値を直接保持していることです。
例えば:
string [] stuff = new String [100]; num = new int [10];
7)コンテナが保持するものは、実際にはオブジェクトを指す基準であるため、任意のタイプを保存できます。もちろん、基本的なタイプはどのクラスからも継承されないため、これには基本的なタイプは含まれません。
8)アレイに直面して、基本的なタイプの値の配列(int [] num;)、またはリファレンスの配列(オブジェクトを指す)を保持できますが、基本タイプをコンテナに配置することができます。ただし、ラッパークラスはさらに使いやすいかもしれません。
もちろん、操作オブジェクトが基本タイプであり、スペースが不十分な場合に容量を自動的に増幅する必要がある場合、配列は適切ではないため、カバータイプのコンテナを使用する必要があります。
9)場合によっては、コンテナクラスが元のタイプに変換されていなくても、正しく動作する可能性があります。特に特別な状況があります。コンパイラは、ストリングクラスをスムーズに動作させるために追加のサポートを提供します。
10)ソート、検索、比較などのアレイに関する基本的な操作は非常に一般的です。したがって、アレイクラスはJavaで提供され、これらの操作を支援します:sort()、binarysearch()、equals()、fill()、aslist()。
ただし、アレイクラスは削除メソッドを提供しておらず、配列に削除()メソッドがあります。
11)ArrayListの使用も非常にシンプルです。ArrayListを生成し、ADD()を使用してオブジェクトを配置し、GET(i)を使用してインデックス値を一致させて削除します。これらはすべて、配列の使用とまったく同じですが、[]は少ないです。
2。参考資料:
1)効率:
アレイの拡張は、アレイリスト効率に大きな影響を与える要因です。
追加、挿入、インサルトランジングなどの方法は、内部配列の容量が不十分であるかどうかを確認します。
ArrayListは、Arrayの複雑なバージョンです
ArrayListは、一般的にオブジェクトタイプの配列をカプセル化します。
2)タイプ識別:
ArrayListがオブジェクトを保存すると、タイプ情報が破棄され、すべてのオブジェクトがコンピレーション中にチェックされませんが、実行時にエラーが報告されます。
アレイリストとアレイの違いは、主に動的容量の増加の効率性によるものです。
3)arrayListは、文字列などのオブジェクトを任意のオブジェクトを保存できます。
読んでくれてありがとう、私はそれがあなたを助けてくれることを願っています。