国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java Collection 之Set使用說明

2019-11-26 16:11:01
字體:
來源:轉載
供稿:網友

Set

一個不包含重復元素的collection,確切的講,set不包含滿足e1.equals(e2)的元素對e1,e2,并且最多包含一個null元素;

此實現不是同步的,如果多個線程同時訪問一個set,而其中至少一個線程修改了該set,那么它必須保持外部同步,通常是通過對自然封裝該set的對象執行同步操作來完成,如果不存在這樣的對象,則:Collections.synchronizedSet();  

HashSet

集合中元素無順序,不重復;數據結構是哈希表;

保證元素唯一性的原理:判斷元素的HashCode值是否相同,若相同,還會繼續判斷元素的equals方法,是否為true; 當一個對象被存儲進HashSet集合中后,就不能修改這個對象的那些參與計算哈希值的字段了,如果修改后就會造成內在泄漏;

TreeSet

可以對Set集合中的元素進行排序:

(1)讓元素自身具備比較性,元素需要實現Comparable接口,覆蓋compareTo方法,這種方式也成為元素的自然順序;

(2)元素自身不具備比較性,或者具備的比較性不是所需要的,這時就需要讓集合自身具備比較性。在集合初始化時就有了比較方式[定義比較器(Comparator<>接口),將它作為參數傳給集合的構造函數]

以下兩種方式為TreeSet需要實現的兩種接口

class Obj implements Comparable<Obj> {

 public int compareTo(Obj o)  {

  return this.name.compareTo(o.name);  

} }

class Comptor implements Comparator<ComptorObj> {

 @Override

 public int compare(ComptorObj o1, ComptorObj o2) {

  return o1.name.compareTo(o2.name);

 } }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 台东市| 岐山县| 天峻县| 伊金霍洛旗| 杭锦旗| 永昌县| 涟水县| 苏州市| 定边县| 太和县| 会泽县| 大庆市| 托克逊县| 剑川县| 嘉善县| 什邡市| 荥经县| 陈巴尔虎旗| 大庆市| 荥经县| 梅河口市| 安达市| 岐山县| 京山县| 子长县| 广德县| 个旧市| 华容县| 南涧| 枞阳县| 奈曼旗| 名山县| 吴江市| 林西县| 抚州市| 涪陵区| 辽阳市| 大竹县| 随州市| 昭觉县| 阿勒泰市|