2 HashSet   无序  不可重复

HashSet 子类使用最多一个子类, 无序 ,不可重复

观察HashSet定义

public class HashSet<E> extends AbstractSet<E> implements Set<E>, Cloneable, Serializable

范例:使用HashSet

public static void main(String[] args) {

Set<String> all=new HashSet<>();

all.add("hello");

all.add("world");

all.add("hadoop");

all.add("hive");

all.add("hbase");

all.add("hello");

all.add("hello");

for(String str:all) {

System.out.println(str);

}

}

使用HashSet 判断重复元素依据 是 hashCode  和 equals()方法

hashCode是什么意思?

哈希表: 字典表   k   v    hashcode意思通过一些运算把复杂的对象,主键, 转换为数组的下标 arrayindex 进行存储

HashCode的设计原理主要三大特性:

1 确定的    对象.hashCode  该对象无论调用多少次这个hashCode方法得出的结果 一定是一样的

2 高效的    哈希算法一定不能是复杂的

3 均匀分布的

K    hash    V

A    2       zxy

B   0        pqr

C  3         ijk

D  2         uvm

通过了解hashCode的原理,以及为什么在HashSet 中元素是无序的, 以及为什么依靠HashCode 和equals()方法来判断重复元素

范例:使用自定义类完成HashSet的使用

public static void main(String[] args) {

Set<Person> all=new HashSet<>();

all.add(new Person("张三",20));

all.add(new Person("李四",30));

all.add(new Person("隔壁老王",89));

for(Person per:all) {

System.out.println(per);

}

}

JAVA复习5(集合——HashSet)相关推荐

  1. [Java复习02] 集合框架 Collection

    Q1 Collection java的集合以及集合之间的继承关系? 数组和链表的区别? 固定长度,连续内存,不能扩展,随机访问快,插入删除慢.链表相反 List, Set, Map的区别? List, ...

  2. java Set无序集合 HashSet 的对象元素唯一性

    public class Demo{public static void main(String[] args) {Set<Person> set = new HashSet<> ...

  3. Java集合 -- HashSet 和 HashMap

    HashSet 集合 HashMap 集合 HashSet集合 1.1 Set 接口的特点 Set体系的集合: A:存入集合的顺序和取出集合的顺序不一致 B:没有索引 C:存入集合的元素没有重复 1. ...

  4. Java集合 HashSet 和 HashMap

    HashSet 集合 HashMap 集合 HashSet集合 Set 接口的特点 Set体系的集合: 存入集合的顺序和取出集合的顺序不一致 没有索引 存入集合的元素没有重复 HashSet 使用&a ...

  5. Java复习十:集合的使用

    Collection集合 collection接口的常用方法 package com.xiazhui.java1;import org.junit.jupiter.api.Test;import ja ...

  6. java输出set集合元素_java Set集合,HashSet类详细介绍

    下面要给大家介绍的就是java Set集合方面的内容,本文主要讲到了HashSet类的一些知识,主要包括了HashSet类的特点,HashSet 类的常用构造方法重载形式以及代码演示了创建两种不同形式 ...

  7. JAVA基础-06.集合-14.【List、Set】

    01_数据结构_栈&队列 02_数据结构_数组 03_数据结构_链表 04_数据结构_红黑树 05_HashSet集合存储数据的结构(哈希表) 06_Set集合存储元素不重复的原理 day03 ...

  8. 中国海洋大学-信息系统开发(Java)复习

    Java复习 OUC_Shizue 1 Java编译器和执行器 Java编译器和执行器是Java语言的两个核心组件,分别用于将Java源代码编译成Java字节码文件和运行Java字节码文件. Java ...

  9. Java复习面试知识点

    Java复习面试知识点 前言: 简要的记录一下学习到的东西,仅供自己查阅和复习方便.希望该文章能对你有帮助,文章学习自博客和b站UP主的教程 集合: 集合简介: Java标准库自带的java.util ...

  10. Java复习第11天---11.2---Java8新特性---Stream流获取方式和常用方法1

    Java复习第11天---11.2---Java8新特性---Stream流获取方式和常用方法1 目录 文章目录 1.Stream流的2中获取方式 1.1.集合的stream方法 1.2.Stream ...

最新文章

  1. 实现数据集多( 高 )维可视化(附代码)
  2. JMX操作ActiveMQ(2)
  3. java鼠标监听事件_JAVA 鼠标事件监听ACTIONLISTENER
  4. php中可以实现多态的是继承,PHP设计模式通过继承实现多态
  5. 洛谷 P3865 【模板】ST表
  6. JS - 按钮倒计时
  7. Android NDK之JNI陷阱
  8. 在Unity进行平台打包发布的时候需要注意的一些细节问题
  9. 如何用wordpress搭建个人博客
  10. 实时时钟DS1302
  11. 系列4—BabeLua常见问题
  12. c语言入门视频教程(C语言入门视频教程 百度网盘)
  13. jasperReports导出PDF字体加粗等样式失效问题
  14. “扣哒杯” AI世青赛公布2021-2022年度全国决赛个人获奖名单
  15. Krypital Group(金氪资本)宣布完成对Ambrus Studio的战略投资
  16. ubuntu 16.04+Titan Xp + Cuda 9.0 + Cudnn 7.0 + Caffe
  17. 傻瓜攻略(十六)——MATLAB实现txt文件复杂内容的读取
  18. 为程序员更新了Joel测试
  19. PDF在线压缩、转换工具
  20. ThingsBoard安装

热门文章

  1. 手动为 SAP Spartacus 添加 SSR 支持的步骤
  2. SAP Spartacus b2b home页面的自动换行是怎么做到的
  3. 如何创建SAP Commerce Cloud Page Templates
  4. SAP Spartacus shipping address页面请求2 - Put Address
  5. 一个使用Java BlockingQueue实现的生产者和消费者
  6. Hybris里类似ABAP Netweaver的DDIC - 如何做data type的extension
  7. 使用SAP CRM中间件XIF(External Interface)一步步创建服务订单
  8. 利用ABAP 740的新关键字REDUCE完成一个实际工作任务
  9. How is new Appoinment id generated in my task followup scenario
  10. SAP云平台上的ABAP编程环境里如何消费第三方服务