0
は次のようにインスタンス化されるJAVAコレクションオブジェクトのインスタンス化
LinkedList<String> l1 = new LinkedList<String>();
HashSet<String> s1 = new HashSet<String>();
インスタンス化のこれらの方法の違いは何ですか?
は次のようにインスタンス化されるJAVAコレクションオブジェクトのインスタンス化
LinkedList<String> l1 = new LinkedList<String>();
HashSet<String> s1 = new HashSet<String>();
インスタンス化のこれらの方法の違いは何ですか?
Javaは、一般契約のようにクラスによって実装可能なインタフェースを提供していました。そのため、あるインタフェースを実装するクラスは、そのインタフェースのすべてのメソッドを実装する必要があります。 Javaのセットとリストは2つのそのようなインターフェースであり、リンクされたリストまたはArraylistはリストインターフェースの実装です。セットと同じです。左側のインタフェースを記述する理由は、必要な要件を満たすためにデータ構造の機能を制限するだけの良いスタイルだと考えられるからです。より幅広いアイデアを使用するのではなく、リスト機能だけを望むなら、Listを使うほうが良いです。これにより、バグが発生しにくくなります。右側にLinkedlistまたはArraylistを書くのは、Javaのインターフェースをインスタンス化できないためです(これは、インターフェースに実装されていないという事実に基づいています)。