`
skwqy
  • 浏览: 50670 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

集合类的学习--HashSet

 
阅读更多

1. 实现Set接口的hash table(哈希表),实际上是依靠HashMap来实现对元素的存取的。

2.  我们应该为要存放到散列表的各个对象定义hashCode()和equals()。

对于HashSet的用法的一些说明

1.HashSet有一个add的方法,但是没有get()的方法, 因此只能透过迭代器(Iterator)去获取

2. 如果我们要利用HashSet来存放对象,并且要不能存放重复的对象,那么我们就要在实现这个对象的public int hashCode() 和 public boolean equals(Object obj)方法. 这两个方法需要同时重写.

3.如果不去实现hashCode()的方法, 那么HashSet就是根据存放对象从Object类继承而来的hashCode()方法进行处理,Object对象中的hashCode()方法是和对象的内存地址相关的,因此只要是new的对象,他们的地址都不相同,从而导致HashSet从可以放重复的对象. 通过上面的第2点,我们可以很好的解决这个问题

分享到:
评论

相关推荐

    Java集合类List-Set-Map的区别和联系.doc

    HashSet 是一个基于哈希表的集合类,TreeSet 是一个基于树形结构的集合类。 Map 有三个实现类:HashMap、HashTable 和 TreeMap。HashMap 是一个基于哈希表的集合类,HashTable 是一个线程安全的基于哈希表的集合类...

    java集合-HashSet的使用

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

    11.集合框架001-Collection接口13-16

    所有的集合类,无论是List、Set还是Queue,都直接或间接地继承自Collection接口。Collection接口定义了基本的集合操作,如添加元素(add),删除元素(remove),检查元素是否存在(contains)等。此外,它还提供了遍历...

    集合类HashSet

    在Java编程语言中,集合类是用于存储一组不重复元素的数据结构。HashSet是其中的一种,它属于集合框架的一部分,提供了一种基于哈希表实现的无序、不可重复的元素集合。本文将深入探讨HashSet类及其相关的知识点。 ...

    Java 集合类(HashSet、ArrayList、LinkedList、HashMap).pptx

    掌握List集合、Set集合、Map集合的使用以及Iterator迭代器和foreach循环的使用 了解常用的集合类 熟悉泛型的使用

    Java 集合学习指南 - v1.1.pdf

    本指南将深入探讨HashMap、HashSet、HashTable、LinkedHashMap、LinkedHashSet、ArrayList、LinkedList、ConcurrentHashMap等主要集合类的实现原理,以及它们在实际应用中的选择与比较。 首先,HashMap是最常用的...

    集合框架介绍----各种接口的方法

    - **Collection**:这是所有集合类的基础接口,它定义了添加、删除和查询元素的基本操作。例如,`add()`用于添加元素,`remove()`用于移除元素,`size()`返回集合中元素的数量,`isEmpty()`检查集合是否为空,`...

    HashSet类的用法.pdf

    ### HashSet类的用法 #### 一、概述 `HashSet`是Java集合框架的一部分,它实现了`Set`接口。`HashSet`不允许重复的元素,并且不保证元素的顺序。此外,`HashSet`是非同步的,这意味着多线程环境下的安全问题需要...

    hashset类的使用

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

    精通java集合框架--List,Set..

    - `HashSet`:基于哈希表的实现,提供了快速的添加、删除和查找操作。 - `TreeSet`:基于红黑树的实现,提供了排序功能,可以按照自然顺序或者自定义比较器排序。 - **`List`接口的实现**: - `ArrayList`:基于...

    Week17_第9讲_泛型与集合类.pdf

    通过以上内容的学习,我们不仅理解了泛型的基本概念和使用方法,还深入了解了Java集合类的相关知识,特别是`List`接口及其具体实现类的特点和使用场景。这对于日常开发中高效管理和操作数据具有重要意义。

    11.集合框架001-Collection接口4-5

    Collection接口是所有集合类的根接口,它定义了集合的基本操作,如添加、删除、遍历元素等。 1. **Collection接口**:它是Java集合框架的基础,提供了多种方法来管理集合中的元素。例如,`add(E element)`用于向...

    java集合类的代码

    这个压缩包文件“Collection”很可能包含了关于Java集合类的一些示例代码,这些代码可以用于理解和学习如何在实际项目中应用这些集合。 Java集合框架主要由两个接口层次构成:Collection和Map。Collection是所有单...

    Java基础----集合类汇总

    本文将深入探讨Java集合类的汇总,包括List、Set和Map这三大核心接口及其实现类。 首先,让我们从List接口开始。List是一种有序的集合,允许有重复元素,并且支持通过索引来访问元素。ArrayList和LinkedList是List...

    2JAVA编程高级-集合类.pdf

    ### JAVA编程高级——集合类知识点详解 #### 一、Java中的集合类概述 在Java编程中,集合类是一个非常重要的概念,它主要用于存储和管理对象的集合。与数组相比,集合提供了更多的灵活性,例如动态调整大小的能力...

    Java集合框架pdf--培训中心资料

    它是所有集合类的根接口。 - **List接口**:继承自`Collection`接口,代表了一个有序的元素集合,可以包含重复的元素。`List`接口的主要实现类有`ArrayList`、`LinkedList`等。 - **Set接口**:也是继承自`...

    day18-集合-中(HashSet&TreeSet&比较器).zip

    本教程将深入探讨这两个集合类以及它们与比较器(Comparator)的关系。 首先,我们来看`HashSet`。`HashSet`是基于`HashMap`实现的,它不保证元素的顺序,允许包含null值但不允许有重复元素。`HashSet`的插入、删除...

    java集合类详解(set list ArrayList等java集合类详述)

    Java 集合类详解 Java 集合类是 Java 语言中的一种基本数据结构,用于存储和操作大量数据。集合类可以分为三大类:Collection、List 和 Set。 Collection 是集合框架中的根接口,提供了基本的集合操作,如 add、...

Global site tag (gtag.js) - Google Analytics