• Java HashSet集合概述


         HashSet集合的特点
            .底层数据结构是哈希表
            .对集合的迭代顺序不做任何保证,也就是说不保证存储和取出的元素顺序一致
            .没有带索引的方法(因为根本没有索引)所以不能使用普通for循环来遍历输出
            .由于是set集合的实现类,所以所以不包含重复的元素集合
        HashSet集合练习
            .存储字符串并遍历
        HashSet的源码分析
            .存入元素会和以前的元素比较哈希值
              .如果哈希值不同,会继续向下执行,把元素添加到集合
              .如果哈希值相同,就会调用对象的equals()方法进行比较
                .如果返回为false,就会继续向下执行,把元素添加到集合
                .如过返回为true,说明元素为重复,不存储

    HashSet集合添加元素的过程:也是HashSet集合保证元素唯一性源码分析

    1. package set集合;
    2. import java.util.HashSet;
    3. import java.util.Iterator;
    4. public class HashSetDemo {
    5. /*
    6. HashSet集合的特点
    7. .底层数据结构是哈希表
    8. .对集合的迭代顺序不做任何保证,也就是说不保证存储和取出的元素顺序一致
    9. .没有带索引的方法(因为根本没有索引)所以不能使用普通for循环来遍历输出
    10. .由于是set集合的实现类,所以所以不包含重复的元素集合
    11. HashSet集合练习
    12. .存储字符串并遍历
    13. HashSet的源码分析
    14. .存入元素会和以前的元素比较哈希值
    15. .如果哈希值不同,会继续向下执行,把元素添加到集合
    16. .如果哈希值相同,就会调用对象的equals()方法进行比较
    17. .如果返回为false,就会继续向下执行,把元素添加到集合
    18. .如过返回为true,说明元素为重复,不存储
    19. HashSet集合添加元素的过程:
    20. */
    21. public static void main(String[] args) {
    22. // TODO 自动生成的方法存根
    23. //创建集合对象
    24. HashSet<String> hs =new HashSet<String>();
    25. hs.add("hello");
    26. hs.add("world");
    27. hs.add("java");
    28. //迭代器
    29. Iterator<String> it = hs.iterator();
    30. while(it.hasNext()) {
    31. String s = it.next();
    32. System.out.println(s);
    33. //增强for循环遍历
    34. for(String s1 : hs) {
    35. System.out.println(s1);
    36. }
    37. }
    38. }
    39. }

  • 相关阅读:
    如何列出 Ubuntu 和 Debian 上已安装的软件包
    Python 读取PostgreSQL的geometry字段时,获取geometry的中心点
    MongoDB---管理,备份恢复,应用场景
    文件加密系统是如何实现企业数据高效安全保护的?
    STL::string简单介绍
    【Pytorch】torch.Tensor.view()
    webpack定制化 代码规范[eslint]
    【2022-8-25奇安信算法笔试】偏机器相关
    自动化运维工具-------Ansible(超详细)
    【LeetCode 热题 100】动态规划 专题(动态规划 ==> 找子问题!)
  • 原文地址:https://blog.csdn.net/qq_51272114/article/details/125421484