重複の可能性:
Collection インターフェイスを使用して ArrayList オブジェクトを作成するポリモーフィズムの利点は何ですか?
ArrayList al=new ArrayList();
Collection c=new ArrayList();
al
objectとはどう違いますc
か? 両方とも同じですか、それとも何ですか?
重複の可能性:
Collection インターフェイスを使用して ArrayList オブジェクトを作成するポリモーフィズムの利点は何ですか?
ArrayList al=new ArrayList();
Collection c=new ArrayList();
al
objectとはどう違いますc
か? 両方とも同じですか、それとも何ですか?
コレクション API は、オブジェクトのコレクションに対する操作をサポートする一連のクラスとインターフェイスです。
クラスの例: HashSet、HashMap、ArrayList、LinkedList、TreeSet、および TreeMap。インターフェイスの例: Collection、Set、List、および Map。
一方、ArrayList: サイズ変更可能な配列の実装です。コレクションの「リスト」グループに属しています。null を含むすべての要素を許可します。スレッドセーフではありません。
コレクション: コレクションを操作するポリモーフィック アルゴリズムを実装します。
コレクション: コレクション階層のルート インターフェイスです。
次のインターフェイス (コレクション型) は Collection インターフェイスを拡張します。
Java には Collection インターフェースの使用可能な実装が付属していないため、リストされているサブタイプのいずれかを使用する必要があります。Collection インターフェイスは、これらの Collection サブタイプのそれぞれが共有する一連のメソッド (動作) を定義するだけです。これにより、使用している特定のタイプのコレクションを無視して、コレクションとして扱うことができます。これは標準の継承であるため、魔法のようなものは何もありませんが、それでも時々便利な機能になることがあります。
2 つ目は、インターフェースへのコーディングです。これにより、副作用なしに を別のもの(または など)ArrayList
に交換できます。Collection
Vector
TreeSet
同じオブジェクトが作成されますが、参照が異なります。
したがって、2番目のケースでは、キャストしない限り、ArrayList
それがちょうどであるかのように only で作業できます。Collection
Collection foo = new ArrayList();
これはより一般的であり、コレクションの他の実装の利点を得ることができます。
ではal
、配列リストのみを使用することがブロックされています。arraylist以外は変換/キャストできません。
インターフェイスc
を実装する任意のクラスを変換/キャストできます。Collection