Java中遍历Set集合的三种方法「建议收藏」

Java中遍历Set集合的三种方法「建议收藏」

大家好,又见面了,我是你们的朋友全栈君。

Map集合:链接: Map集合的五种遍历方式及Treemap方法

Set集合:链接: Java中遍历Set集合的三种方法

TreeSet集合:链接: Java深入了解TreeSet,和迭代器遍历方法

LIst集合:链接: Java中List集合的三种遍历方式(全网最详)

集合区别:链接: java中list,set,map集合的区别,及面试要点

1.迭代遍历:

Set set = new HashSet();

Iterator it = set.iterator();

while (it.hasNext()) {

String str = it.next();

System.out.println(str);

}

2.for循环遍历:

for (String str : set) {

System.out.println(str);

}

优点还体现在泛型 假如 set中存放的是Object

Set set = new HashSet();

for循环遍历:

for (Object obj: set) {

if(obj instanceof Integer){

int aa= (Integer)obj;

}else if(obj instanceof String){

String aa = (String)obj

}

}

1 Set集合介绍

Collection接口可以存放重复元素,也可以存放不重复元素。List可以存放重复元素,Set就是不重复的元素。

通过元素的equals方法,来判断是否为重复元素。

Set集合取出元素的方式可以采用:迭代器,增强 for

2 HashSet(哈希表)

此类实现了Set接口,由哈希表(实际是HashMap实例)支持。它不保证set的迭代顺序,特别是它不保证该顺序恒久不变。此类允许使用null元素。

特点:无序集合,存储和取出的顺序不同,没有索引,不存储重复元素。代码的编写和ArrayList完全一致。

HashSet特点:

底层数据结构:哈希表(链表和数组的结合体);

存储取出都比较快;

线程不安全,运行速度快;

3 对象的哈希值

如果没有重写父类,每次运行的结果都是不同的整数;

如果子类重写父类的方法,哈希值,自定义;

存储到HashSet的依据;

4 字符串的哈希值

String类继承Object,重写了父类的方法hashCode,

5 哈希表的存储过程

代码语言:javascript代码运行次数:0运行复制public static void main(String[] args) {

HashSet set=new HashSet();

set.add(new String("abc"));

set.add(new String("abc"));

set.add(new String("abc"));

set.add(new String("bbc"));

set.add(new String("bbc"));

System.out.println(set);

}发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/133348.html原文链接:https://javaforall.cn

相关推荐

蠟筆小新 第1-10季【國語】
365bet足球真人

蠟筆小新 第1-10季【國語】

📅 08-09 👁️ 8085
汽车前轮挡泥板和内衬板安装全攻略
365bet足球真人

汽车前轮挡泥板和内衬板安装全攻略

📅 07-02 👁️ 5053
我的世界手机版所有版本合集:最新版与旧版本对比
365bet中文资讯网

我的世界手机版所有版本合集:最新版与旧版本对比

📅 07-18 👁️ 5327
王者荣耀微信禁赛时长详解及解封技巧
365bet体育在线直播

王者荣耀微信禁赛时长详解及解封技巧

📅 06-30 👁️ 6527
2016射箭世界杯赛(上海站)落下帷幕
365bet中文资讯网

2016射箭世界杯赛(上海站)落下帷幕

📅 07-10 👁️ 9927
视知百科
365bet足球真人

视知百科

📅 08-07 👁️ 7490