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

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

java的集合對比----Collection(續(xù))

2019-11-15 00:50:34
字體:
供稿:網(wǎng)友
java的集合對比----Collection(續(xù))

Set接口

關(guān)于Set接口,在上課時總是很少提到,所以對它的認識并不多,實現(xiàn)set接口的類,里面的元素沒有重復(fù)的。他依賴于map,其實我們保存的值,是保存的key,在map中,key不會重復(fù),所以set也就沒有重復(fù)的元素,它的實現(xiàn)類有三個:HashSet,TreeSet,LinkedHashSet.

 1 public static void main(String[] args) { 2         //Set<Integer> set = new HashSet<Integer>(); 3         // Set<Integer> set = new TreeSet<Integer>(); 4         Set<Integer> set = new LinkedHashSet<Integer>(); 5         set.add(null); 6         Random rd = new Random(); 7         System.out.

HashSet:他是無序的,可以保存null,添加順序和遍歷結(jié)果如下:

image

LinkedHashSet:他保持了元素的添加順序,可以保存null,添加順序和遍歷結(jié)果如下:

image

TreeSet:他是一個有序集合,元素按照順序排列,但是不能保存null,添加順序和遍歷結(jié)果如下:

image

我們自己定義的類,如果要加入到TreeSet中,需要實現(xiàn)接口Comparable 中的compareTo方法 ,定義自己的比較規(guī)則,否則會拋出一個異常。

image

給個Demo,自定義的規(guī)則是先比較int,再比較string,無論Model1,Model2,Model3的添加順序怎么變,輸出都是一樣的, eg:

 1 public class Model implements Comparable { 2     String str; 3     int num; 4     @Override 5     public int compareTo(Object arg0) { 6         Model tmp = (Model)arg0; 7         int cmp = this.num - tmp.num; 8         if(cmp == 0){ 9             return str.compareTo(tmp.str);10         }11         return cmp;12     }13 }14 15 public static void main(String[] args) {16         TreeSet<Model> ts = new TreeSet<Model>();17         Model m2 = new Model();18         m2.str = "121";19         m2.num = 1;20         ts.add(m2);21         22         Model m3 = new Model();23         m3.str = "121";24         m3.num = 2;25         ts.add(m3);26         27         Model m1 = new Model();28         m1.str = "321";29         m1.num = 1;30         ts.add(m1);31         32         Iterator<Model> it = ts.iterator();33         while(it.hasNext()){34             Model tmp = it.next();35             System.out.println(tmp.str + ":" + tmp.num);36         }37     }


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 华容县| 正定县| 巧家县| 新竹县| 上杭县| 东辽县| 兴国县| 家居| 博罗县| 吉安市| 黄大仙区| 谢通门县| 若羌县| 葵青区| 绥江县| 巍山| 油尖旺区| 红安县| 怀安县| 新疆| 浦东新区| 宜城市| 瑞昌市| 景谷| 永丰县| 邹平县| 彰化县| 米脂县| 高邑县| 台东县| 肇源县| 淮北市| 永城市| 昭觉县| 曲水县| 许昌市| 藁城市| 林口县| 黔江区| 新河县| 鹰潭市|