Java HashSet类

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

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

散列码,用作在其中与该键相关联的数据被存储在索引中。键转化为它的哈希码是自动进行的。

HashSet类支持四个构造函数。第一种形式构造一个默认的哈希集合:

HashSet( )

下面的构造形式初始化哈希使用c的元素集。

HashSet(Collection c)

下面的构造形式初始化哈希设置为能力的能力。

容量自动成长作为元素被添加到哈希。

HashSet(int capacity)

第四种形式初始化哈希从它的参数设置的两个容量和填充比(也称为负载容量):

[D, E, F, A, B, C]


时间: 2024-08-07 04:33:31

Java HashSet类的相关文章

Java API —— Set接口 & HashSet类 & LinkedHashSet类

1.Set接口 1)Set接口概述 一个不包含重复元素的 collection,无序(存储顺序和取出顺序不一致),唯一.  (List有序,即存储顺序和取出顺序一致,可重复) 2)Set案例 存储字符串并遍历 存储自定义对象并遍历 2.HashSet 1)HashSet类概述 不保证 set 的迭代顺序:特别是它不保证该顺序恒久不变. 2)HashSet如何保证元素唯一性 底层数据结构是哈希表(元素是链表的数组) 哈希表依赖于哈希值存储 添加功能底层依赖两个方法: · int hashCode(

Java——(三)Collection之Set集合、HashSet类

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.Set集合 Set集合不允许包含相同的元素,如果试图把两个相同的元素加入同一个Set集合中,则添加 操作失败,add方法返回false,而新元素不会被加入. Set判断两对象相同不是使用==运算符,而是根据equals方法.也就是说,只要两个对象用 equals方法比较返回true,Ser就不会接受这两个对象:反之,只要两个对象用equals方法比较 返回false,SEt就会接受这两个对

数据结构-List接口-LinkedList类-Set接口-HashSet类-Collection总结

一.数据结构:4种--<需补充> 1.堆栈结构:     特点:LIFO(后进先出);栈的入口/出口都在顶端位置;压栈就是存元素/弹栈就是取元素;     代表类:Stack;     其它:main方法最后一个出去; 2.数组结构:     特点:一片连续的空间;有索引,查找快;增删慢;     代表类:ArrayList;     应用场景:用于查询多的场景,如天气预报; 3.队列结构:     特点:FIFO(先进先出);入口/出口在两侧;     代表:Queue接口     应用场景

Java HashSet和LinkedHashSet的用法

Java HashSet和LinkedHashSet的用法 类HashSet和LinkedHashSet都是接口Set的实现,两者都不能保存重复的数据.主要区别是HashSet不保证集合中元素的顺序,即不能保证迭代的顺序与插入的顺序一致. 而LinkedHashSet按照元素插入的顺序进行迭代,即迭代输出的顺序与插入的顺序保持一致. 以下是HastSet和LinkedHashSet的用法示例: [java] view plain copy import java.util.Collections

Java基础 —— Java常用类

Java常用类: java.lang包: java.lang.Object类: hashcode()方法:返回一段整型的哈希码,代表地址. toString()方法:返回父类名+"@"+哈希码(一般用于覆盖). equals()方法:返回"=="操作的布尔值(一般用于覆盖). finalize()方法:用于对象的销毁(不受人为控制,由JVM调用,遵从垃圾回收机制). clone()方法:用于对象之间的拷贝(深拷贝). getClass()方法:返回对象的字节码文件对

day07(Set接口,HashSet类,hashcoad(),Collections工具类,Map集合)

Set接口 set接口的实现类特点 1.无序(取出来的顺序和存进去的数据的顺序不一致) 2.唯一(数据不能存相同的) 底层是用Map集合写的 HashSet类  实现了  set接口       唯一性  public class HashSetTest { public static void main(String[] args) { HashSet<String> hs=new HashSet<String>(); hs.add("hello"); hs.

java:类集框架

类集框架:jdk提供的一系列类和接口,位于java.util包当中,主要用于存储和管理对象,主要分为三大类:集合.列表和映射. 集合Set:用于存储一系列对象的集合.无序.不允许重复元素. 列表List:用来存储有顺序的一组数据的集合.有序 映射Map:以键值对的方式进行数据存储的集合. 类集框架主体结构: 主要方法:add.clear.isEmpty.remove.size ArrayList 继承关系:Iterator<--Collection<--List<--ArrayList实

Java String类为什么不可变?

原文地址:# Why String is immutable in Java? 众所周知,String类在Java中是不可变的.不可变类简单地说是实例不可修改的类.对于一个实例创建后,其初始化的时候所有的信息都不能被修改.不可变类有很多的好处,本文简述为什么String类要设计成不可变类.本文将从内存,同步性,数据结构的角度说明不变性的概念. 1.字符串常量池的需要 String常量池是方法区的一个特殊的储存区.当新建一个字符串的时候,如果此字符串在常量池中早已存在,会返回一个已经存在字符串的引

java String 类 基础笔记

字符串是一个特殊的对象. 字符串一旦初始化就不可以被改变. String s = "abc";//存放于字符串常量池,产生1个对象 String s1=new String("abc");//堆内存中new创建了一个String对象,产生2个对象 String类中的equals比较字符串中的内容. 常用方法: 一:获取 1.获取字符串中字符的个数(长度):length();方法. 2.根据位置获取字符:charAt(int index); 3.根据字符获取在字符串中