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);

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java实现MD5加密的三种方式「建议收藏」

    java实现MD5加密的三种方式「建议收藏」方法一:推荐使用所需jar包:commons-codec.jarimportorg.apache.commons.codec.digest.DigestUtils;/***MD5加密之方法一*@explain借助apache工具类DigestUtils实现*@paramstr*待加密字符串*@return16进制加密字符串*/publicstaticStringencryptToMD5(Stringstr){ return

    2022年7月8日
    32
  • opencv无法读取图片_opencv无法读取图片

    opencv无法读取图片_opencv无法读取图片使用一下代码读取一张图片失败(不管是绝对路径还是相对路径,都失败),工程运行都没问题,就是图片读取失败。//读入一张图片(游戏原画)Matimg=imread("hehe.jpg"); if(!img.data)//判断图片调入是否成功return-1;//调入图片失败则退出//创建一个名为"游戏原画"窗口…

    2022年10月14日
    0
  • phpstorm激活码2021。3[在线序列号]

    phpstorm激活码2021。3[在线序列号],https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月19日
    216
  • php递归算法经典实例_php用递归求n的阶乘

    php递归算法经典实例_php用递归求n的阶乘&lt;?phpheader(‘content-type:text/html;charset=utf8’);//遍历目录:递归遍历functionmyflie($dir){is_dir($dir)ordie("当前目录不存在");//是文件夹,读取全部内容$f=scandir($dir);foreach($fas$file){…

    2022年8月11日
    5
  • java 生成中文字符乱码,java汉字乱码的原因与解决方法

    java 生成中文字符乱码,java汉字乱码的原因与解决方法在基于Java的编程中,经常会碰到汉字的处里及显示的问题,比如一大堆乱码或问号。这是因为JAVA中默认的编码方式是UNICODE,而中国人通常使用的文件和DB都是基于GB2312或者BIG5等编码,故会出现此问题。1、在网页中输出中文。JAVA在网络传输中使用的编码是”ISO-8859-1″,故在输出时需要进行转化,如:Stringstr=”中文”;str=newString(str.get…

    2022年7月8日
    27
  • Dreamweaver CS6安装教程

    Dreamweaver CS6安装教程一.解压二.安装点击忽略

    2022年6月9日
    39

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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