-set Javaのコレクション

#javaコレクション-set

  • キー値が繰り返されていない前記キーと値のマッピングを格納するための地図。そしてまた、あなたは右のオーバーライドのequalsとhashCodeメソッドを必要とします
  • 私たちだけではなく、重複キーを格納する必要がある場合は、値に対応する値を格納する必要はありません、あなたはセットを使用することができます
  • 要素の集合を記憶するための集合は、主に以下の方法を提供し、繰り返しません。
    • セットに追加された要素 :ブールの追加(E電子)
    • セットからの要素 削除:ブールのremove(オブジェクトE)
    • ブール含み(例えばオブジェクト):要素が含むかどうかを決定します

1. Set实际上相当于只存储key、不存储value的Map。我们经常用Set用于去除重复元素
2. 原因是:set中的key和map中的key一样,都需要严格的实现equals和hashCode方法,否则无法正确方法set元素
3. Set接口并不保证有序,而SortedSet接口则保证元素是有序的:
    * HashSet是无序的,因为它实现了Set接口,并没有实现SortedSet接口;
    * TreeSet是有序的,因为它实现了SortedSet接口。

HashSetの出力:

public class Main {
    public static void main(String[] args) {
        Set<String> set = new HashSet<>();
        set.add("apple");
        set.add("banana");
        set.add("pear");
        set.add("orange");
        for (String s : set) {
            System.out.println(s);
        }
    }
}

TreeSetのを横断しながら、出力が発注され、この順序は、要素のソート順です。

public class Main {
    public static void main(String[] args) {
        Set<String> set = new TreeSet<>();
        set.add("apple");
        set.add("banana");
        set.add("pear");
        set.add("orange");
        for (String s : set) {
            System.out.println(s);
        }
    }
}

キュー

队列Queue实现了一个先进先出(FIFO)的数据结构:

通过add()/offer()方法将元素添加到队尾;
通过remove()/poll()从队首获取元素并删除;
通过element()/peek()从队首获取元素但不删除。
要避免把null添加到队列。

おすすめ

転載: www.cnblogs.com/chenyameng/p/11441474.html