`
xxrrss
  • 浏览: 43267 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Collection中的Set

    博客分类:
  • J2SE
阅读更多

Set定义:

        一个集合里没有重复元素。确切的说:Sets中不存在这样的一对元素e1和e2,使得e1.equals(e2),同时最多含有一个null元素。模型是数学中的set.


Set结构层次:

         Collection-->Set-->AbstractSet-->HashSet;

         Collection-->Set-->AbstractSet-->LinkedHashSet;

         Collection-->Set-->SortedSet-->TreeSet;

         Collection-->Set-->AbstractSet-->TreeSet


Set与List的选择:

         链表和数组能够确定元素的顺序。如果:你要操找某元素,又不确定它的顺序,则需要访问所有元素,直到匹配。如果你在意顺序,你采用List,如果你不在意元素的顺序,Set会是很好的选择!因为"散列表"这种数据结构让你快速的查找对象。同时Set有一实现:HashSet采用了这种数据结构。关于散列表,请查看相关数据结构的书籍!注意:当你改变散列集中的元素时,如果被改变的元素的散列码也要改变,那么元素在数据结构中的位置也要做相应的变化。

 

 

HashSet和TreeSet的选择:

              TreeSet是一个有序集合!它是以红-黑树数据结构来实现的。每当一个元素调价到TreeSet中,该元素会被放置到恰当的排序位置。迭代器总是按照排序后的顺序来访问各个元素。它添加元素的速度比HashSet慢,比Array,List快!对象的比较:TreeSet假设你插入的元素实现了Comparable接口!对同一类,可以通过实现Comparator定制不同的比较策略!选择的标准是:你所保存的对象需不需要对数据进行排序!

 


HashSet添加元素时会调用多少个方法?

                  首先:hashcode()方法,计算对象的散列码,如果存在这样的散列表元则调用equals()方法,判断散列表单元是否有equals对象,没有,实行插入,否则,插入失败!

 


分享到:
评论

相关推荐

    collection,list,set,map

    从给定的文件内容中,我们可以提取出与标题“collection,list,set,map”相关的知识点,但是具体到这些数据结构的内容并没有在节选部分直接提及。不过,从描述和标签中的“源码 工具”可以推测,作者可能在讨论...

    Java集合Collection、List、Set、Map使用详解

    Set中的元素不能通过索引访问,而是通过迭代器遍历。 ##### 1.5.2 常用方法 Set接口的方法与Collection接口相同,但由于它不允许重复元素,因此没有专门的方法来处理重复性。 ##### 1.5.3 实现原理 - **HashSet*...

    Collection List Set Map 区别记忆

    其中,`Collection`、`List`、`Set`和`Map`是四大基本接口,它们各自代表了一种特定的数据结构,有着不同的特性和用途。下面我们将详细探讨这些接口的区别及其相关知识点。 首先,`Collection`是所有集合类的顶级...

    Collection,List,Set和_Map用法和区别

    Collection, List, Set 和 Map 用法和区别 Collection 是 Java 中的一种对象...Collection、List、Set 和 Map 等集合类是 Java 中非常重要的一部分,需要深入了解其用法和区别,以便更好地使用集合类来实现业务逻辑。

    SMS Spam Collection Data Set

    【标题】"SMS Spam Collection Data Set" 是一个用于短信分类的机器学习数据集,主要目的是帮助我们理解如何利用机器学习算法来识别垃圾短信(spam)。 【描述】提及的"Python机器学习:朴素贝叶斯那一章"指出,这...

    Collection、Map、List、Set、Iterator

    ### Collection、Map、List、Set、...以上就是关于 `Collection`、`Map`、`List`、`Set` 和 `Iterator` 的详细解析,这些概念和类是 Java 编程中非常基础且重要的部分,掌握它们有助于更好地理解和使用 Java 集合框架。

    第17章 - 深入研究容器 - Collection(List,Set,Queue)的性能测试框架(单线程中)(P501)

    在深入研究Java集合框架,特别是List、Set和Queue的性能测试时,我们通常会关注它们在单线程环境中的表现。这些容器是Java编程中不可或缺的一部分,用于存储和管理对象。本章将探讨如何构建一个性能测试框架来比较...

    Java集合类(Collection)学习

    在这个Java集合类的学习资料中,我们将深入探讨`Collection`以及与其相关的`TreeMap`、`Set`和`List`等概念。 首先,我们从`Collection`接口开始。`Collection`接口是`java.util`包下的核心接口,它定义了集合的...

    Java集合Collection、List、Set、Map使用详解.pdf

    "Java集合Collection、List、Set、Map使用详解" Java集合是Java编程语言中最基本也是最重要的一部分。能够正确地使用集合类和理解集合的实现原理对于Java程序的开发具有无比的好处。本文将详细解释Java集合的实现...

    MySQL中set类型的使用

    在Java的Hibernate框架中,如果你需要映射一个MySQL的`SET`类型字段,可以使用`@ElementCollection`和`@CollectionTable`注解。例如,假设我们有一个`User`类,其中有一个`interests`字段存储用户的兴趣: ```java @...

    Java集合:Collection、List、Set、Map使用详解

    本文将深入探讨Java集合框架中的四个主要接口:Collection、List、Set和Map,以及它们的实现原理。 ### 集合框架概述 集合框架是Java API中用于存储和管理对象的统一框架。它为数据结构提供了抽象接口,使得程序员...

    Java集合Collection、List、Set、Map使用详解编程资料

    Java集合Collection、List、Set、Map使用详解

    Java集合Collection、List、Set、Map使用详解.doc

    Java 集合框架的主要组件包括 Collection、List、Set、Map 等。 1.1 容器简介 容器是指可以存储对象的对象。 Java 集合框架中有多种类型的容器,每种容器都有其特点和用途。常见的容器有 Collection、List、Set、...

    Java_Collection_List-Set-Map.zip_list set map

    在Java编程语言中,集合框架是处理对象组的重要工具,主要包括List、Set和Map三大接口。这些接口由Java Collection Framework提供,它是一个统一的架构,用于存储和操作各种类型的对象。接下来,我们将深入探讨这三...

    集合概述Collection , List ,Set , Map

    根据不同的存储需求,Java中的容器可以分为两大类:集合(Collection)和映射(Map)。 ##### 1.1.1 容器简介 容器在Java编程中扮演着非常重要的角色。在实际应用中,经常需要处理多个对象的集合,并且对这些对象...

    SMS Spam Collection Data Set 垃圾短信收集数据集

    SMS Spam Collection 是一组为 SMS Spam 研究收集的带有 SMS 标记的消息。它包含 5,574 条消息的一组英文 SMS 消息,根据合法或垃圾邮件进行标记。 这些文件每行包含一条消息。每行由两列组成:v1 包含标签(非垃圾...

    java集合框架之Collection实例解析

    本篇文章将深入解析`Collection`接口及其主要实现类`List`和`Set`,帮助你理解并熟练运用这些核心概念。 首先,`Collection`是所有单列集合的父接口,它定义了集合的基本操作,如添加元素、删除元素、检查元素存在...

Global site tag (gtag.js) - Google Analytics