`
cjsmq
  • 浏览: 14542 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

java set HashSet

阅读更多
java set接口 HashSet


HashSet底层是 HashMap实现的。其实HashSet中存放的值,就是HashMap中key值。
如果对HashMap实现不太明白可以参考上篇 java map hashmap博文。


   

public class HashSet<E>
    extends AbstractSet<E>
    implements Set<E>, Cloneable, java.io.Serializable
{
    static final long serialVersionUID = -5024744406713321676L;

    private transient HashMap<E,Object> map;

    // Dummy value to associate with an Object in the backing Map
    private static final Object PRESENT = new Object();

    /**
     * Constructs a new, empty set; the backing <tt>HashMap</tt> instance has
     * default initial capacity (16) and load factor (0.75).
     */
    //通过构造方法HashSet底层是HashMap实现的。
    public HashSet() {
	map = new HashMap<E,Object>();
    }

    //set add方法。
    public boolean add(E o) {
	return map.put(o, PRESENT)==null;
    }

    //set 遍历,其实就是Map的key
    public Iterator<E> iterator() {
	return map.keySet().iterator();
    }





分享到:
评论

相关推荐

    java 利用HashSet删除学生

    在Java编程中,HashSet是一个非常重要的集合类,它继承自AbstractSet并实现了Set接口。HashSet不包含重复元素,也不保持元素的顺序。本篇将详细讲解如何利用Java的HashSet类来删除学生对象,以及HashSet的一些核心...

    java中set、list和map的使用方法实例

    // java中对象容器主要有Set,List和Map三个接口类。 // 迭代器(Iterator)模式,又叫做游标(Cursor)模式。 // GOF给出的定义为:提供一种方法访问一个容器(container)对象中的各个元素, // 而又不需暴露该...

    java HashSet 集合排序

    java HashSet 集合排序,需要通过利用TreeSet集合排序。2013-10-30。

    Java中Set的深入研究

    在深入探讨Java中Set接口的实现细节之前,我们先来明确一下Set在Java中的核心概念。Set接口是Java集合框架的一部分,它代表了一个数学抽象集合,即不允许包含重复元素的集合。更正式地讲,根据其Javadoc文档,Set是...

    java集合-HashSet的使用

    HashSet 是 Java 中的一个集合类,它实现了 Set 接口并提供了基于哈希表的无序、不重复元素的集合。具体来说,它是通过哈希表(实际上是一个 HashMap 实例)来存储元素的。 以下是 HashSet 的一些主要特点: 无序...

    Java中HashSet和HashMap的区别_动力节点Java学院整理

    Java中HashSet和HashMap的区别 Java中HashSet和HashMap是两个常用的集合类,它们都属于Java集合框架(Java Collection Framework),但是它们有着不同的实现和应用场景。 什么是HashSet? HashSet实现了Set接口,...

    java集合知识-map、set等

    import java.util.HashSet; import java.util.Iterator; import java.util.LinkedHashSet; public class HashSetTest { public static void main(String[] args) { HashSet hs = new LinkedHashSet(); hs....

    java 运用集的相关类(Set)

    Java提供了多种Set接口的实现,如HashSet、TreeSet和LinkedHashSet。 1. HashSet:这是最常用的Set实现,它不保证元素的顺序,允许使用null值,但不允许元素重复。HashSet内部使用哈希表来存储元素,因此添加、删除...

    java List、Set与Array之间的相互转换

    在Java编程语言中,数据结构的使用是至关重要的,其中包括List、Set和Array。这三种数据结构各有特点,适用于不同的场景。理解它们之间的相互转换能够帮助我们更好地管理和操作数据。以下将详细介绍Java中List、Set...

    HashSet详解和使用示例_动力节点Java学院整理

    HashSet是Java编程语言中的一种集合类,它是一个不包含重复元素的集合,其内部实现基于HashMap。HashSet不保证元素的顺序,允许存储null元素,并且是非同步的,这意味着在多线程环境下,如果需要保证线程安全,需要...

    hashset类的使用

    在Java语言中,HashSet类是集合框架的重要组成部分,属于Set接口的一个实现。它基于哈希表的原理来存储不重复的元素,其核心在于利用哈希算法快速定位元素存储位置,从而提高数据存取的效率。本篇将详细介绍Java语言...

    详解Java中HashSet和TreeSet的区别

    HashSet 和 TreeSet 是 Java 中两个常用的集合类,它们都实现了 Set 接口,但它们之间有很大的区别。本文将详细介绍 HashSet 和 TreeSet 的区别,帮助大家更好地理解和使用这些集合类。 HashSet HashSet 是一个...

    集合类HashSet

    HashSet&lt;MyObject&gt; set = new HashSet(); MyObject obj = new MyObject(); set.add(obj); if (set.contains(obj)) { obj.myMethod(); } ``` HashSet提供了多种操作方法,如add()用于添加元素,remove()用于删除...

    Java应用:两种Java容器类List和Set分析

    ### Java应用:两种Java容器类List和Set分析 #### 一、概述 在Java编程语言中,集合框架(Collections Framework)是处理数据的核心组件之一,它提供了存储和操作对象的各种方式。本文将深入探讨Java中的两种重要...

    java基础练习题 (目前到集合内含三个小综合案例)

    Java集合框架包括接口(如List、Set、Queue)和实现类(如ArrayList、LinkedList、HashSet、HashMap等)。理解各种集合的区别,以及它们的实现方式和应用场景,是提升编程效率的关键。例如,List接口中的ArrayList和...

    java中三种集合set、map、list的区别与联系

    在Java编程语言中,集合框架提供了多种数据结构来存储和操作数据,其中最常用的是`Set`、`Map`和`List`。这三种集合类型各自具有独特的特性和用途,理解它们之间的区别与联系对于有效地使用Java进行数据管理至关重要...

    ThinkinginJava之Set接口、HashSet源码学习.pdf

    总之,Set接口和HashSet在Java集合框架中扮演着重要的角色,它们提供了一种有效存储和管理不重复元素的方式。通过深入理解其源码和工作原理,开发者可以更好地利用这些工具来解决实际编程问题。

    HashSet的实现原理

    在Java编程中,HashSet是一种不允许存储重复元素的集合,它实现了Set接口。HashSet是通过HashMap来实现的,其底层使用HashMap来保存所有元素。这种实现方式让HashSet的操作非常简单高效,因为HashSet的大部分操作,...

    HashSet去重

    - **`HashSet`与`ArraySet`/`LinkedSet`**:`HashSet`是基于哈希表实现的,而`ArraySet`通常是指数组实现的集合,`LinkedSet`则是基于链表实现的有序集合。`HashSet`提供了非常高效的增删查操作,但不保证元素的插入...

    Java-HashSet:简单的哈希集,它打印列表中的所有项目,然后打印所有没有重复的项目

    Java哈希集(HashSet)是Java集合框架中的一种重要数据结构,它继承自AbstractSet类,并实现了Set接口。HashSet的特点在于其内部使用哈希表来存储元素,这使得添加、删除和查找元素的操作具有较高的效率,通常为O(1)...

Global site tag (gtag.js) - Google Analytics