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

首頁 > 編程 > Java > 正文

淺析Java中的set集合類型及其接口的用法

2019-11-26 14:18:31
字體:
來源:轉載
供稿:網友

概念
首先,我們看看Set集合。

201652185907060.jpg (583×388)

(01) Set 是繼承于Collection的接口。它是一個不允許有重復元素的集合。
(02) AbstractSet 是一個抽象類,它繼承于AbstractCollection,AbstractCollection實現了Set中的絕大部分函數,為Set的實現類提供了便利。
(03) HastSet 和 TreeSet 是Set的兩個實現類。
    HashSet依賴于HashMap,它實際上是通過HashMap實現的。HashSet中的元素是無序的。
    TreeSet依賴于TreeMap,它實際上是通過TreeMap實現的。TreeSet中的元素是有序的。

eg:
下面我們以遍歷違例來看看set集合的利用:

package com.sort;  import java.util.HashSet; import java.util.Iterator; import java.util.Set;  /**  * 一個不包含重復元素的 collection。更確切地講,set 不包含滿足 e1.equals(e2) 的元素對 e1 和 e2,  * @author Owner  *  */ public class SetTest2 {   public static void main(String[] args) {   Set<String> set = new HashSet<String>();      set.add("a");   set.add("b");   set.add("c");   set.add("d");   set.add("e");      set.add("e");//不能放入重復數據      /**    * 遍歷方法一,迭代遍歷    */   for(Iterator<String> iterator = set.iterator();iterator.hasNext();){    System.out.print(iterator.next()+" ");   }      System.out.println();   System.out.println("********************");      /**    * for增強循環遍歷    */   for(String value : set){    System.out.print(value+" ");   }  } } 

注意:這里Set集合中放入的是String類型,假如我們放入一個自己定義的類實例的時候,比如Person類實例,這時候我們要自己重新hashcode和equal方法,用自己的關鍵字段來重寫,因為當使用HashSet時,hashCode()方法就會得到調用,判斷已經存儲在集合中的對象的hash code值是否與增加的對象的hash code值一致;如果不一致,直接加進去;如果一致,再進行equals方法的比較,equals方法如果返回true,表示對象已經加進去了,就不會再增加新的對象,否則加進去。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安平县| 无锡市| 丰顺县| 明水县| 永新县| 平遥县| 凤台县| 湄潭县| 通州市| 荆州市| 府谷县| 大化| 甘谷县| 鄂伦春自治旗| 格尔木市| 石阡县| 抚顺县| 松潘县| 潍坊市| 盘山县| 尚志市| 金昌市| 滕州市| 南乐县| 新建县| 宜章县| 平凉市| 金塔县| 弥勒县| 搜索| 电白县| 祥云县| 宁远县| 庆安县| 勐海县| 河间市| 龙川县| 新源县| 平山县| 双辽市| 南开区|