HashSet扩展AbstractSet并实现Set接口。它创建一个使用哈希表进行存储的集合。

哈希表通过使用称为哈希的机制来存储信息。在散列中,键的信息内容用于确定唯一值,称为其散列码。

然后,将哈希码用作存储与键关联的数据的索引。键到其哈希码的转换是自动执行的。

以下是HashSet类提供的构造函数的列表。序号构造函数与说明1HashSet()

该构造函数构造一个默认的HashSet。

2HashSet(Collection c)

此构造函数通过使用collection c的元素初始化哈希集。

3HashSet(int Capacity)

此构造函数将哈希集的容量初始化为给定的整数值容量。

随着将元素添加到HashSet中,容量会自动增长。

4HashSet(int Capacity,float fillRatio)

此构造函数根据其参数初始化哈希集的容量和填充率(也称为负载容量)。

此处的填充率必须在0.0到1.0之间,并且它确定哈希集在向上调整大小之前可以有多满。具体来说,当元素的数量大于哈希集的容量乘以其填充率时,哈希集将被扩展。

除了从其父类继承的方法之外,HashSet定义以下方法-序号方法与说明1boolean add(Object o)

如果指定的元素尚不存在,则将其添加到此集合中。

2void clear()

从此集合中删除所有元素。

3Object clone()

返回此HashSet实例的浅表副本:元素本身未克隆。

4boolean contains(Object o)

如果此集合包含指定的元素,则返回true。

5boolean isEmpty()

如果此集合不包含任何元素,则返回true。

6Iterator iterator()

返回对此集合中的元素进行迭代的迭代器。

7boolean remove(Object o)

从该集合中移除指定的元素(如果存在)。

8int size()

返回此集合中的元素数(其基数)。

示例

以下程序说明了HashSet支持的几种方法-import java.util.*;

public class HashSetDemo {

public static void main(String args[]) {

// create a hash set

HashSet hs = new HashSet();

// add elements to the hash set

hs.add("B");

hs.add("A");

hs.add("D");

hs.add("E");

hs.add("C");

hs.add("F");

System.out.println(hs);

}

}

这将产生以下结果-

输出结果[A, B, C, D, E, F]

java中 hashset_Java中的HashSet相关推荐

  1. java使用hashset_JAVA中Set集合--HashSet的使用

    一.使用HashSet添加一个String类型的值: public static void hashSet1(){ HashSet hashSet = new HashSet(); hashSet.a ...

  2. java使用hashset_Java集合(二)HashSet的使用

    HashSet和TreeSet都实现了Collection下的Set接口,他们实现的原理分别是HashMap和TreeMap,基本的数据结构是哈希表和Red-Black Tree package co ...

  3. Java中哈希集(HashSet)概念,实现以及操作

    Java中HashSet的用法 1. HashSet概念 2.Java文档中HashSet的实现 3.HashSet的构造函数 3.1 HashSet() 3.2 HashSet(int initia ...

  4. Java Persistence API中的FetchType LAZY和EAGER之间的区别?

    我是Java Persistence API和Hibernate的新手. Java Persistence API中的FetchType.LAZY和FetchType.EAGER什么区别? #1楼 我 ...

  5. java arraylist 删除回车符_2种Java删除ArrayList中的重复元素的方法

    这篇文章将给出两种从ArrayList中删除重复元素的方法,分别是使用HashSet和LinkedHashSet. ArrayList是Java中最常用的集合类型之一.它允许灵活添加多个null元素, ...

  6. 用 for/in 在 Java 5.0 中增强循环

    http://www.ibm.com/developerworks/cn/java/j-forin.html 简介: for/in 循环通常叫作 增强的 for 或者 foreach,它是 Java ...

  7. JAVA集合框架中的常用集合及其特点、适用场景、实现原理简介

    JDK提供了大量优秀的集合实现供开发者使用,合格的程序员必须要能够通过功能场景和性能需求选用最合适的集合,这就要求开发者必须熟悉Java的常用集合类.本文将就Java Collections Fram ...

  8. [Google Guava] 2.3-强大的集合工具类:java.util.Collections中未包含的集合工具

    原文链接 译文链接 译者:沈义扬,校对:丁一 尚未完成: Queues, Tables工具类 任何对JDK集合框架有经验的程序员都熟悉和喜欢java.util.Collections包含的工具方法.G ...

  9. Java应用程序中的内存泄漏和内存管理

    Java平台最突出的功能之一是其自动内存管理. 许多人错误地将此功能转换为Java中没有内存泄漏 . 但是,事实并非如此,我给人的印象是,现代Java框架和基于Java的平台,尤其是Android平台 ...

最新文章

  1. 2、redis.conf基本配置项说明
  2. 马尔科夫决策过程基本概念详解
  3. 梁体混凝土弹性模量计算_预应力混凝土连续梁多点转向顶推施工技术研究
  4. mysql遵循acid_mysql关系型数据库遵循ACID规则
  5. 【转】mac os、linux及unix之间的关系
  6. Java常用系统变量收集
  7. Spring AOP(一):概览
  8. 计算机组成原理在线实验,《计算机组成原理》实验.doc
  9. 9.iterm 颜色
  10. 组态王gprs虚拟服务器,GPRS/CDMA 网络通过组态王软件虚拟串口(IO/设备)实现无线远程...
  11. python程度员要学很多英语吗_为什么程序员应该学好英语?
  12. 手机上的便签怎么发送到电脑上
  13. keil 4c语言读写寄存器,【STM32单片机学习】第四课:GPIO控制LED(用寄存器编程)
  14. 放弃Notepad++,替代品很多
  15. MEAN.js和MEAN.io之间的区别
  16. 斐波那契回调线怎么画_交易者必备——斐波那契回调线的绝妙用法
  17. 挂件巡检机器人_一“人”分饰多角 京东新一代巡检机器人上岗!
  18. 【学习方法】学习不好沉迷手机,该如何自救?3个高效学习方法,让你破除打压式管教的恶果!
  19. 计算两个文件夹中图片的PSNR和SSIM
  20. 毕设 房价预测分析与可视

热门文章

  1. [CareerCup] 8.7 Chat Server 聊天服务器
  2. T-Mobile美国加速开展5G实验:28GHz频段成为新宠
  3. 去除inline-block元素间间距
  4. bash下个人习惯的一些文件设置
  5. mybatisGenerator 代码自动生成报错 Result Maps collection already contains value for BaseResultMap...
  6. 【转】测试工程师日常工作需要关注的问题
  7. eclipse maven scm
  8. 远程计算机需要网络级别身份验证,而您的计算机不支持该验证,请联系您的系统管理员或者技术人员来获得帮助...
  9. PHP中的逆波兰式应用
  10. dataset.xsd的定义(vs2008)