1. セット コレクション
主な実装クラスは、オブジェクトへの参照を保存する HashSet
、TreeSet
です。オブジェクトの重複は許可されません。
サンプルコード:
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. リスト コレクション
主な実装クラスは LinkedList
と ArrayList
です。前者はリンク リスト構造を実装し、後者は変数を表すことができますサイズ、配列。
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. マップコレクション。
主な実装クラスは、HashMap
と TreeMap
です。 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 サイトの他の関連記事を参照してください。