回覆列表
  • 1 # 使用者5891221633656

    set中不可能有重複的元素,這是set的特點 public interface Set<E>extends Collection<E>一個不包含重複元素的 collection。更正式地說,set 不包含滿足 e1.equals(e2) 的元素對 e1 和 e2,並且最多包含一個 null 元素。正如其名稱所暗示的,此介面模仿了數學上的 set 抽象。 在所有構造方法以及 add、equals 和 hashCode 方法的協定上,Set 介面還加入了其他規定,這些規定超出了從 Collection 介面所繼承的內容。出於方便考慮,它還包括了其他繼承方法的宣告(這些宣告的規範已經專門針對 Set 介面進行了修改,但是沒有包含任何其他的規定)。 對這些構造方法的其他規定是(不要奇怪),所有構造方法必須建立一個不包含重複元素的 set(正如上面所定義的)。 注:如果將可變物件用作 set 元素,那麼必須極其小心。如果物件是 set 中某個元素,以一種影響 equals 比較的方式改變物件的值,那麼 set 的行為就是不確定的。此項禁止的一個特殊情況是不允許某個 set 包含其自身作為元素。 某些 set 實現對其所包含的元素有所限制。例如,某些實現禁止 null 元素,而某些則對其元素的型別所有限制。試圖新增不合格的元素會丟擲未經檢查的異常,通常是 NullPointerException 或 ClassCastException。試圖查詢不合格的元素是否存在可能會丟擲異常,也可能簡單地返回 false;某些實現會採用前一種行為,而某些則採用後者。概括地說,試圖對不合格元素執行操作時,如果完成該操作後不會導致在 set 中插入不合格的元素,則該操作可能丟擲一個異常,也可能成功,這取決於實現的選擇。此介面的規範中將這樣的異常標記為“可選”。

  • 中秋節和大豐收的關聯?
  • 這兩天生豬的價格有點下跌,後續生豬的價格趨勢如何?