Java教程

HashSet集合介绍和哈希值

本文主要是介绍HashSet集合介绍和哈希值,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

HashSet集合介绍

Set接口继承自Collection接口

Set接口的特点:

  1.不允许存储重复的元素

  2.没有索引,没有带索引的方法,也不能使用普通的for循环遍历

HashSet集合:继承Set接口

HashSet特点:

  1.不允许存储重复的元素

  2.没有索引,没有带索引的方法,也不能使用普通的for循环遍历

  3.是一个无序的集合,存储元素和取出元素的顺序有可能不一致

  4.底层是一个哈希结构(查询的速度非常快)

    public static void main(String[] args) {
        //创建HashSet集合 不允许有重复的元素
        HashSet<Integer> set = new HashSet<>();
        //往数组中添加元素
        set.add(1);
        set.add(2);
        set.add(3);
        set.add(3);
        set.add(2);
        set.add(1);
        //使用迭代器遍历输出
        Iterator<Integer> iterator = set.iterator();
        while (iterator.hasNext()){
            Integer next = iterator.next();
            System.out.println(next);
        }
        System.out.println("=================");
        //增强for循环遍历输出
        for (Integer integer : set) {
            System.out.println(integer);
        }
    }

运行结果:

 

 

 

哈希值

哈希值:是一个十进制的整数,由系统随机给出(就是对象的地址值,是一个逻辑地址,是模拟出来得到的地址,不是数据实际存储的物理地址)

在Object类有一个方法,可以获取对象的哈希值

int hashCode() 返回该对象的哈希值

    public static void main(String[] args) {
        //demg_03继承了Object类,所以可以使用Object类的hashCode方法
        demg_03 d = new demg_03();
        int i = d.hashCode();//获取方法
        System.out.println(i);//输出十进制的整合
        
        demg_03 de = new demg_03();
        int i1 = de.hashCode();
        System.out.println(i1);
    }

哈希值由系统随机给出:

 

这篇关于HashSet集合介绍和哈希值的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!