当前位置: 首页 > news >正文

Collection下的set集合中的hashset方法使用

package Day14;/*
 *@author wanghongyuan
 *@Create 2020/12/23 7:59
 */

import java.util.HashSet;
import java.util.Iterator;

/*
    java.util.Set接口,extends Collection接口
    Set接口:
        1.不允许存储重复的元素
        2.没有索引,没有带索引的方法,也不能使用普通的for循环遍历
    java.util.HashSet集合,implement 实现了Set接口
        1.不允许存储重复的元素
        2.没有索引,没有带索引的方法,也不能使用普通的for循环遍历
        3.是一个无序的集合,存储元素和取出元素的顺序有可能不一致
        4.底层是一个哈希表结构(查询速度非常快)
 */
public class Hashcode {
    public static void main(String[] args) {
        HashSet<String> s = new HashSet<>();
        s.add("a");
        s.add("b");
        s.add("c");
        s.add("d");
        s.add("a");//不能存重复元素
        // 创建一个迭代器,使用迭代循环
        Iterator<String> it = s.iterator();
        // 判断迭代器中是否包含元素
        while (it.hasNext()){
            // 将迭代器中的元素赋值给n
            String n = it.next();
            System.out.println(n);

        }
        System.out.println("================");
        // 增强for循环。
        for (String s1 : s) {
            System.out.println(s1);
        }
    }
}

哈希值

import java.util.HashSet;
import java.util.Set;
/*
    哈希值:是一个十进制的整数,这个值由系统随机给出的,(就是对象地址值,是一个逻辑地址,是模拟出来得到的地址,不是数据实际存储的物理地址)
    在Object中有个方法可以直接获取哈希值,int hashcode()返回对象的哈希值

 */
public class Demo01Hashcode {
    public static void main(String[] args) {
//      创建一个hash对象
        Set<String> hash = new HashSet<>();
        boolean a = hash.add("a");
        System.out.println(a);
        Person p1 = new Person();
        int h1 = p1.hashCode();
        System.out.println(h1);
        Person p2 = new Person();
        int h2 = p1.hashCode();
        System.out.println(h2);
        System.out.println(p1);
        System.out.println(p2);
        System.out.println("================");
        String s = new String("abc");
        String s1 = new String("abc");
        String s2 = new String("abc");
        System.out.println(s.hashCode());//96354
        System.out.println(s2.hashCode());//96354
        System.out.println(s1.hashCode());//96354
        System.out.println("重地".hashCode());//1179395
        System.out.println("童话".hashCode());//1011096
        System.out.println("通话".hashCode());//1179395
    }
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Meterphere安装及使用
  • Collection中set下的Hashset和LinkedHashSet的区别
  • 数据类型中的可变参数理解
  • intelliJ idea酷炫代码特效插件
  • Collections中的三个常用方法,addAll,sort,shuffle
  • Map遍历键值对案例练习
  • Hashtable
  • Map练习,统计输入字符串的个数
  • 斗地主综合案例有序版
  • Throwable中Exception/Error异常的分类及处理
  • 异常处理的过程
  • 异常的几个注意事项
  • 如何自定义异常类
  • 2020年年终总结
  • Thread类的使用方法
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • conda常用的命令
  • JavaScript-Array类型
  • mockjs让前端开发独立于后端
  • php面试题 汇集2
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • vue中实现单选
  • 表单中readonly的input等标签,禁止光标进入(focus)的几种方式
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • 事件委托的小应用
  • 说说动画卡顿的解决方案
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • Android开发者必备:推荐一款助力开发的开源APP
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • ​什么是bug?bug的源头在哪里?
  • # Apache SeaTunnel 究竟是什么?
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • #07【面试问题整理】嵌入式软件工程师
  • #DBA杂记1
  • (2024,Vision-LSTM,ViL,xLSTM,ViT,ViM,双向扫描)xLSTM 作为通用视觉骨干
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (55)MOS管专题--->(10)MOS管的封装
  • (C++17) std算法之执行策略 execution
  • (cljs/run-at (JSVM. :browser) 搭建刚好可用的开发环境!)
  • (Java)【深基9.例1】选举学生会
  • (PHP)设置修改 Apache 文件根目录 (Document Root)(转帖)
  • (企业 / 公司项目)前端使用pingyin-pro将汉字转成拼音
  • (贪心 + 双指针) LeetCode 455. 分发饼干
  • (一)Linux+Windows下安装ffmpeg
  • (原創) 如何刪除Windows Live Writer留在本機的文章? (Web) (Windows Live Writer)
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • (转)http-server应用
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • (转)平衡树
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • (状压dp)uva 10817 Headmaster's Headache
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。
  • ***php进行支付宝开发中return_url和notify_url的区别分析