一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|

服務器之家 - 編程語言 - JAVA教程 - 實例講解Java HashSet

實例講解Java HashSet

2020-07-07 13:30菜鳥教程 JAVA教程

這篇文章主要介紹了Java HashSet的相關資料,文中示例代碼非常詳細,幫助大家更好的理解和學習,感興趣的朋友可以了解下

HashSet 基于 HashMap 來實現的,是一個不允許有重復元素的集合。

HashSet 允許有 null 值。

HashSet 是無序的,即不會記錄插入的順序。

HashSet 不是線程安全的, 如果多個線程嘗試同時修改 HashSet,則最終結果是不確定的。 您必須在多線程訪問時顯式同步對 HashSet 的并發訪問。

HashSet 實現來 Set 接口。

實例講解Java HashSet

HashSet 中的元素實際上是對象,一些常見的基本類型可以使用它的包裝類。

基本類型對應的包裝類表如下:

 

基本類型 引用類型
boolean Boolean
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character

 

HashSet 類位于 java.util 包中,使用前需要引入它,語法格式如下:

?
1
import java.util.HashSet; // 引入 HashSet 類

以下實例我們創建一個 HashSet 對象 sites,用于保存字符串元素:

?
1
HashSet<String> sites = new HashSet<String>();

添加元素

HashSet 類提供類很多有用的方法,添加元素可以使用 add() 方法:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 引入 HashSet 類  
import java.util.HashSet;
 
public class RunoobTest {
  public static void main(String[] args) {
  HashSet<String> sites = new HashSet<String>();
    sites.add("Google");
    sites.add("Runoob");
    sites.add("Taobao");
    sites.add("Zhihu");
    sites.add("Runoob"); // 重復的元素不會被添加
    System.out.println(sites);
  }
}

執行以上代碼,輸出結果如下:

[Google, Runoob, Zhihu, Taobao]

在上面的實例中,Runoob 被添加了兩次,它在集合中也只會出現一次,因為集合中的每個元素都必須是唯一的。

判斷元素是否存在

我們可以使用 contains() 方法來判斷元素是否存在于集合當中:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 引入 HashSet 類  
import java.util.HashSet;
 
public class RunoobTest {
  public static void main(String[] args) {
  HashSet<String> sites = new HashSet<String>();
    sites.add("Google");
    sites.add("Runoob");
    sites.add("Taobao");
    sites.add("Zhihu");
    sites.add("Runoob"); // 重復的元素不會被添加
    System.out.println(sites.contains("Taobao"));
  }
}

執行以上代碼,輸出結果如下:

true

刪除元素

我們可以使用 remove() 方法來刪除集合中的元素:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// 引入 HashSet 類  
import java.util.HashSet;
 
public class RunoobTest {
  public static void main(String[] args) {
  HashSet<String> sites = new HashSet<String>();
    sites.add("Google");
    sites.add("Runoob");
    sites.add("Taobao");
    sites.add("Zhihu");
    sites.add("Runoob");   // 重復的元素不會被添加
    sites.remove("Taobao"); // 刪除元素,刪除成功返回 true,否則為 false
    System.out.println(sites);
  }
}

執行以上代碼,輸出結果如下:

[Google, Runoob, Zhihu]

刪除集合中所有元素可以使用 clear 方法:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// 引入 HashSet 類  
import java.util.HashSet;
 
public class RunoobTest {
  public static void main(String[] args) {
  HashSet<String> sites = new HashSet<String>();
    sites.add("Google");
    sites.add("Runoob");
    sites.add("Taobao");
    sites.add("Zhihu");
    sites.add("Runoob");   // 重復的元素不會被添加
    sites.clear();
    System.out.println(sites);
  }
}

執行以上代碼,輸出結果如下:

[]

計算大小

如果要計算 HashSet 中的元素數量可以使用 size() 方法:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 引入 HashSet 類  
import java.util.HashSet;
 
public class RunoobTest {
  public static void main(String[] args) {
  HashSet<String> sites = new HashSet<String>();
    sites.add("Google");
    sites.add("Runoob");
    sites.add("Taobao");
    sites.add("Zhihu");
    sites.add("Runoob");   // 重復的元素不會被添加
    System.out.println(sites.size());
  }
}

執行以上代碼,輸出結果如下:

4

迭代 HashSet

可以使用 for-each 來迭代 HashSet 中的元素。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// 引入 HashSet 類  
import java.util.HashSet;
 
public class RunoobTest {
  public static void main(String[] args) {
  HashSet<String> sites = new HashSet<String>();
    sites.add("Google");
    sites.add("Runoob");
    sites.add("Taobao");
    sites.add("Zhihu");
    sites.add("Runoob");   // 重復的元素不會被添加
    for (String i : sites) {
      System.out.println(i);
    }
  }
}

執行以上代碼,輸出結果如下:

Google
Runoob
Zhihu
Taobao

以上就是實例講解Java HashSet的詳細內容,更多關于Java HashSet的資料請關注服務器之家其它相關文章!

原文鏈接:https://www.runoob.com/java/java-hashset.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美亚洲激情在线 | 99久久精品免费看国产高清 | 国产精品亚洲精品观看不卡 | 高清一级片 | 美女国内精品自产拍在线播放 | 精品国产无限资源免费观看 | se婷婷| 亚洲日本va午夜中文字幕 | 91制片厂 果冻传媒 天美传媒 | 免费观看美女被cao视频 | 男人操美女逼视频 | 日韩欧美国产综合精品 | 97菊爱网 | 国产高清不卡码一区二区三区 | 欧美一区二区三区免费观看视频 | 精品99在线观看 | 蜜柚精彩在线观看 | 成人免费毛片一区二区三区 | 97热| 喜欢老头吃我奶躁我的动图 | 国产日韩欧美在线观看不卡 | 国产亚洲人成网站在线观看不卡 | 欧美草逼网 | 免费观看视频高清在线 | 草逼视频网址 | 99视频导航 | 午夜特级毛片 | 日本aaaaa高清免费看 | 亚洲福利精品电影在线观看 | 免费观看无人区完整版 | 国产乱码一卡二卡3卡四卡 国产乱插 | 饭冈加奈子黑人解禁在线播放 | 日剧整部剧护妻狂魔免费观看全集 | free性俄罗斯护士 | 欧美日韩一区二区三区韩大 | 含羞草国产亚洲精品岁国产精品 | 视频国产精品 | 娇喘嗯嗯 轻点啊视频福利 九九九九在线精品免费视频 | 国产精品成 | 91韩国女主播 | 欧美日韩一区视频 |