12

Java では、コレクションと「データ構造」の違いがわかりません。コレクションはリスト、セット、マップ、キューを指し、「データ構造」は配列、リンクリスト、ツリーなどのコレクションを実装するために使用されるデータ構造を指すようです。たとえば、ArrayList と LinkedList はどちらもコレクションですが、データ構造はそれぞれ配列と連結リストです。私は正しいですか、それとも用語を混乱させていますか?

4

3 に答える 3

15

データ構造は、メモリ内のストレージ内でデータがどのように表現されるかです。コレクションは、アクセス方法です。私は「できる」という言葉を強調します。

LinkedList にデータを格納して並べ替えると、パフォーマンスが低下します。ArrayList を使用すると、同じアルゴリズムでパフォーマンスが向上します。メモリ内での表現方法を変更するだけで、さまざまな要因が改善されます。

コレクション表現を使用してアクセスすることができます。また、「インデックス」を使用してデータにアクセスすることもできます。getFirst、getNext、getPrev にも「できます」。

あなたの混乱は、内部ストレージとストレージへのアクセスの間です。2を切り離します。

于 2013-01-20T02:32:40.117 に答える
13

データ構造は、ある種のデータを表すオブジェクトの総称であるため、連結リスト、配列などはすべてデータ構造です。Java の意味でのコレクションは、インターフェースを実装するすべてのクラスを指しCollectionます。一般的な意味でのコレクションは、単なるオブジェクトのグループです。

于 2013-01-20T02:30:44.373 に答える
1

データ構造には、ある種のスキーマの概念があります。たとえば、家の表現は、面積、寝室などをリストします。それは通常、そこで意味されていることです。ドメインの構造はデータとしてどのように表現されるのでしょうか?

コレクションは、Jeff が言うように、単なるオブジェクトのセットです。コレクションには構造がありますが、それらの構造は、ツリー、リスト、LinkedList など、単に組織的なものです。

于 2013-01-20T02:33:24.987 に答える