ホームページ > 类库下载 > java类库 > JAVA プログラミングのアイデア ----11.4 コンテナ印刷

JAVA プログラミングのアイデア ----11.4 コンテナ印刷

高洛峰
リリース: 2016-10-17 09:21:20
オリジナル
1626 人が閲覧しました

JAVA プログラミング思考 (第 4 版) 学習ノート----11.4 コンテナの印刷

import static java.lang.System.out;

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.LinkedList;
import java.util.Map;
import java.util.TreeMap;
import java.util.TreeSet;

public class ContainerFramework {

    static Collection fill(Collection<String> collection) {
        collection.add("rat");
        collection.add("cat");
        collection.add("dog");
        collection.add("dog");
        return collection;
    }

    static Map fill(Map<String, String> map) {
        map.put("rat", "Fuzzy");
        map.put("cat", "Rags");
        map.put("dog", "Bosco");
        map.put("dog", "Spot");
        return map;
    }
    public static void main(String[] args) {
        out.println(fill(new ArrayList<String>()));
        out.println(fill(new LinkedList<String>()));
        out.println(fill(new HashSet<String>()));
        out.println(fill(new TreeSet<String>()));
        out.println(fill(new LinkedHashSet<String>()));
        out.println(fill(new HashMap<String, String>()));
        out.println(fill(new TreeMap<String, String>()));
        out.println(fill(new LinkedHashMap<String, String>()));
    }
}
ログイン後にコピー
[rat, cat, dog, dog]
[rat, cat, dog, dog]
[cat, dog, rat]
[cat, dog, rat]
[rat, cat, dog]
{cat=Rags, dog=Spot, rat=Fuzzy}
{cat=Rags, dog=Spot, rat=Fuzzy}
{rat=Fuzzy, cat=Rags, dog=Spot}
ログイン後にコピー

コードを実行した結果から、Collection によって出力された内容が角括弧 [] で囲まれ、各要素が囲まれていることがわかります。カンマで区切られます。Map によって出力される内容は中括弧 {} で囲まれ、キーと値が 1 つの要素 (キー = 値) として等号で接続され、各要素はカンマで区切られます。

Java コンテナ クラスには、Collection インターフェースをルートとするコレクション クラスと、Map をルートとする連想配列クラスの 2 つのタイプが含まれます。

Collection インターフェースには、List (リスト)、Set (コレクション)、Queue (キュー) の 3 つの重要なサブタイプがあります。 )

List には、ArrayList と LinkedList という 2 つの重要な実装があります。


List インターフェイスのすべての実装クラスは、その要素が挿入順に保存できることを保証するため、List は順序付けされたコレクションになります。 ArrayList の利点は、要素にランダムに効率的にアクセスできることですが、欠点は、指定された位置で要素を挿入および削除するパフォーマンスが比較的遅いことです。 LinkedList はランダム アクセスの点では遅くなりますが、指定された場所で要素を挿入および削除する場合はより効率的です。

2. Set には、HashSet、TreeSet、LinkedHashSet という 3 つの重要な実装があります


Set インターフェースのすべての実装クラスは、それらの要素が繰り返されないことを保証します。 HashSet はハッシュ アルゴリズムを使用して要素をセットに格納します。その要素は順序付けされていませんが、要素の取得効率は最も高速です。 TreeSet は、セット内の要素を比較結果の昇順に格納する順序付きセットです。 LinkedHashSet も順序付きコレクションであり、要素が挿入された順序でオブジェクトを保存すると同時に、HashSet のクエリ速度を備えています。

3. Queue


Queueを使用すると、コンテナの一方の端でデータを挿入し、もう一方の端でデータを削除できます。

Map インターフェイスには、HashMap、TreeMap、LinkedHashMap の 3 つの重要なサブタイプがあり、値は「キーと値」のペアのコンテナーです。

HashMap は順序付けされておらず、最も高速な検索速度を持っています。

TreeMap は順序があり、比較キーの結果の昇順で保存されます。

LinkedHashMap は順序があり、HashMap のクエリ速度を維持しながら、挿入された要素の順序で保存されます。



ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート