ホームページ > Java > &#&はじめる > Javaで一般的に使用されるコレクションクラスは何ですか

Javaで一般的に使用されるコレクションクラスは何ですか

王林
リリース: 2019-12-02 17:04:31
オリジナル
4306 人が閲覧しました

Javaで一般的に使用されるコレクションクラスは何ですか

1. セット コレクション

主な実装クラスは、オブジェクトへの参照を保存する HashSetTreeSet です。オブジェクトの重複は許可されません。

サンプルコード:

public class SetTest {
    public static void main(String[] args) {      
    Set set=new HashSet();       //添加数据        
    set.add("abc");      
    set.add("cba");      
    set.add("abc");//故意重复      
    set.add(123);      
    set.add(true);        
    System.out.println("集合元素个数:"+set.size());        //遍历出集合中每一个元素       
    Iterator it=set.iterator();       
    while(it.hasNext()){         
        System.out.println(it.next());        
    }     
    }  
}
ログイン後にコピー

Javaのequals()メソッドで判定します。特別なニーズがある場合は、equals() メソッドをオーバーロードする必要があります。

1.HashSet()、オブジェクトの hashCode() メソッドを呼び出し、ハッシュ コードを取得し、セット内のオブジェクトの位置を計算します。ハッシュコードをequals()メソッドと比較して、重複があるかどうかを判断します。したがって、equals() メソッドをオーバーロードする場合は、hashCode() メソッドもオーバーロードする必要があります。

推奨されるビデオ チュートリアル: java オンライン学習

2.TreeSet() は、ShortedSet インターフェイスを継承しており、次のことができます。コレクション内のオブジェクトの並べ替え。デフォルトのソート方法は自然ソートですが、このメソッドは Comparable インタフェースを実装するオブジェクトのみをソートできます。このインタフェースは、Integer、Byte、Double、Character、String などの数値および文字オブジェクト用に Java で実装されています。

特別な並べ替えがある場合は、このインターフェイスで compareTo() メソッドをオーバーロードするか、Comparator インターフェイスの実装クラスを通じてコレクションを構築する必要があります。

2. リスト コレクション

主な実装クラスは LinkedListArrayList です。前者はリンク リスト構造を実装し、後者は変数を表すことができますサイズ、配列。

List の特徴は、オブジェクトを線形に格納できることと、重複したオブジェクトの格納を許可することです。 Collections クラスの静的メソッド sort を使用してリストを並べ替えることができます。 sort(List list) 自然な並べ替え; sort(List listm, Comparator codddmparator)カスタマイズされた並べ替え。

コード例:

List: 線形コレクション インターフェイス、順序付け;

ArrayList: 動的配列 [可変長の動的配列];

LinkedList: リンクされたリスト構造のコレクション。

  public class ListTest {
     //ArrayList     
     static void testOne(){      
     List list=new ArrayList();       //添加数据       
     list.add("abc");       
     list.add("cba");       
     list.add(123);       
     list.add(0,"fist");       //查看集合长度       
     System.out.println("存放"+list.size()+"个元素");       
     list.remove(0);//删除第一个元素       //查看集合中是否包含cba       
     if(list.contains("cba")){        
     System.out.println("包含元素cba");    
     }         //取出集合中第二个元素       
     System.out.println("第二个元素是:"+list.get(1));         //取出集合中所有元素       
     for (int i = 0; i < list.size(); i++) {         
     System.out.println(list.get(i));      
     }     
     }       //LinkedList      
     static void testTwo(){      
     LinkedList list=new LinkedList();      //添加元素      
     list.add("aaaa");      
     list.add(123123);      
     list.addFirst("1111111");      
     list.addLast("2222222");      
     list.add("33333333");        
     System.out.println("元素个数:"+list.size());      //取出第三个元素      
     System.out.println("第三个元素是:"+list.get(2));        //第一个元素      
     System.out.println("第一个元素:"+list.getFirst());      
     System.out.println("最后一个元素:"+list.getLast());        //删除第一个元素      
     list.removeFirst();        
     for (Object object : list) {        
     System.out.println(object);      
     }     
     }      
     public static void main(String[] args) {      //testOne();      
     testTwo();     
     }  
     }
ログイン後にコピー

3. マップコレクション。

主な実装クラスは、HashMapTreeMap です。 Map は値の一意性を必要としませんが、キーの一意性を必要とするため、既存のキーを追加すると、元の値オブジェクトは上書きされます。

HashMap クラスは、ハッシュ アルゴリズムに従ってキー オブジェクトにアクセスします。キーを比較するために equals() メソッドと hashCode() メソッドをオーバーロードできますが、これらは必ずオーバーロードする必要があります。一貫性のある。 。 TreeMap は自然に並べ替えることも、Comparator の実装クラスを渡すことによって TreeMap を構築することもできます。

マップ: キーと値のペアの記憶構造のコレクション (順序なし)。

コード例:

public class MapTest {
    public static void main(String[] args) {       //实例化一个集合对象       
    Map map=new HashMap();       //添加数据       
    map.put("P01", "zhangSan");       
    map.put("P02", "Lucy");       
    map.put("PSex", "男");       
    map.put("PAge", "39");       
    map.put("PAge", "22");//key,重复会被后面的覆盖         //判断是否有一个key为PSex       
    if(map.containsKey("PSex")){        
        System.out.println("存在");        
    }      
    System.out.println("集合大小:"+map.size());      
    System.out.println("输出key为PAge的值:"+map.get("PAge"));        //遍历出Map集合中所有数据      
    Iterator it=map.keySet().iterator();      
    while(it.hasNext()){      
        String key=it.next().toString();      
        System.out.println("key="+key+",value="+map.get(key));    
    }      
    /*      
    Set set=map.keySet();//取出map中所有的key并封装到set集合中      
    Iterator it=set.iterator();      
    while(it.hasNext()){      
        String key=it.next().toString();      
        System.out.println("key="+key+",value="+map.get(key));    
    }      
    */    
    }  
    }
ログイン後にコピー

おすすめの関連記事とチュートリアル: java エントリー プログラム

以上がJavaで一般的に使用されるコレクションクラスは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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