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

Java中遍历Set集合的三种方法「建议收藏」1.迭代遍历:Setset=newHashSet();Iteratorit=set.iterator();while(it.hasNext()){Stringstr=it.next();System.out.println(str);}2.for循环遍历:for(Stringstr:set){System.out.println(str);}…

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

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 哈希表的存储过程

public static void main(String[] args) { 
   
        HashSet<String> set=new HashSet<String>();
        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);

    }
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号