Java には、シーケンス リスト、リンク リスト、キュー、スタック、優先キュー、ハッシュ テーブルなどの既製のデータ構造のセットがあり、これらは対応するインターフェイス/クラスにカプセル化されています。プログラマーが直接使用するには、内部構造を実装する必要がなく、使用する関連オブジェクトを作成するだけで済みます。
コレクションは、複数の要素を格納および管理するデータ構造です。これらの要素は 1 つの単位に配置され、追加、削除、変更、クエリなどの操作を通じて処理できます。例えば、トランプのセット(カードの集合)、アドレス帳(名前と電話番号の間のマッピング関係のセット)などを例として使用することができる。
下の図は非常に重要です。 ! !よく使用されるインターフェイスとクラスを覚えておく必要があります。 !
マップ インターフェイスは Iterable インターフェイスを実装していないため、マップ インターフェイス内の要素をどのように走査すればよいでしょうか?
Map<Integer,String> map = new HashMap(); map.put(1,"jack"); map.put(2,"tom"); Set<Map.Entry<Integer, String>> entries = map.entrySet(); // 使用迭代器进行遍历 ,增强 for同理 Iterator<Map.Entry<Integer, String>> iterator = entries.iterator(); while (iterator.hasNext()) { Map.Entry<Integer, String> entry = iterator.next(); System.out.println(entry.getKey() + " " + entry.getValue()); }
HashMap を例に挙げると、そのentrySet() メソッドを呼び出して、マップ内の各
基本的な関係 (簡略化されたバージョン)
は、通常、Collection インターフェイスを実装するインターフェイスまたはクラスによって受け入れられます。上の図からわかるように、Collection インターフェイスは一連のインターフェイスおよびクラスの親インターフェイスであるため、クラスのオブジェクトを具体的に実装します。内部的に実装されたメソッドが比較的少ないため、サブクラスの一部の共通メソッドを呼び出すことができません。 。
注: ここで渡される型は参照型のみです。基本的なデータ型の場合、そのラッパー クラスは次のとおりです。
Collection<String> collection1 = new ArrayList(); collection1.add("haha"); collection1.add("world"); Collection<Integer> collection2 = new ArrayList(); collection2.add(1); collection2.add(2); //collection2.add("hh");// 这里会报错,不符合传入的指定类型Integer
method | function |
---|---|
コレクション内のすべての要素を削除します | |
コレクションがには要素がありません。一般に空のセットとして知られています。 | |
要素 e がセット内にある場合は、それらの 1 つを削除します | |
要素 e をコレクションに追加します | |
コレクション内の要素の数を返します | |
コレクション内のすべての要素を含む配列を返します |
Object[] objects = collection1.toArray(); String[] strings = new String[objects.length]; for (int i = 0; i < objects.length; i++) { strings[i] = (String)objects[i];// 一个一个转,但是没啥必要 }3. マップ インターフェイス は、 キーと値のペアの形式でデータを保存します。ここでのキー値は一意であり、各キー値はそのキー値に対応できます。対応する値 value。異なるキー値を同じ値に対応させることができます。 HashMap: 要素を格納する際、キー値に基づいて内部の hashCode 関数が呼び出され、要素が配置される場所が検索されるため、ハッシュ テーブル内の要素は格納された順序で格納されません。 マップの一般的なメソッドの使用
Function | |
---|---|
指定された k | |
According指定された k に対応する v を検索します。見つからない場合はデフォルト値を返します。 | |
指定された k-v を入力します。マップ | |
キーが含まれているかどうかを判定 | |
値が含まれているかどうかを判断します | ##Set |
boolean isEmpty() | |
int size() | |
# |
以上がJavaコレクションフレームワークのデータ構造は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。