集合(set)是一个用于存储和处理无重复元素的高效数据结构。映射表(map)类似于目录,提供了使用键值快速查询和获取值的功能。

 

  HashSet类是一个实现了Set接口的具体类,可以使用它的无参构造方法来创建空的散列集(hash set),也可以由一个现有的合集创建散列集。

  当元素个数超过了容量与负载系数的乘积,容量就会自动翻倍。 默认情况,初始容量为16而负载系数是0.75。

  HashSet  散列类

  集合种不允许有重复的元素。

  散列集种的元素是没有特定顺序的。如果要强加给它们一个顺序,需要使用 LinkedHashSet类

  集合中的元素可以遍历。可以使用 foreach循环遍历集合中的所有元素。

foreach的语句格式:
for(元素类型t 元素变量x : 遍历对象obj){
引用了x的java语句;
}

set1.add("set2")   增加元素

set1.remove("set2") 移除元素
set1.contains(set2) 查找有无该元素,有返回true ,没有返回false
set1.addAll(set2)  添加所有元素
set1.removeAll(set2) 删除所有元素
set1.retainAll(set2) 保留共有的元素
set1.clean()          清空
 
LinkedHashSet类  链式散列集
LinkHashSet用一个链表实现来扩展HashSet类,支持对集合内的元素排序。
元素按插入顺序存储。保持了元素插入是的顺序。如果要强加一个不同的顺序(如升序降序),可以使用TreeSet类。
 
TreeSet类  树形集
SortedSet 是 Set 的一个子接口,确保集合中的元素是有序的。 first()和last()返回集合中的第一个元素和最后一个元素,headSet(toElement)和tailSet(fromElement)分别返回集合中元素小于(toElement) 和 大于或等于(fromElement)的那部分。
navigableSet 扩展了 SortedSet, 并提供导航方法 lower(e)、floor(e)、c eiling(e)和higher(e)分别返回小于、小于等于、大于等于 以及大于 给定一个元素的元素。 如果没有 ,返回null。方法 pollFirst()和pollLast()分别删除和返回树形集种的第一个元素和最后一个元素。
TreeSet 实现了 SortedSet 接口。
 
 ------------------------------------
 
  当更新一个集合时,如果不需要保持元素的排序关系,就应该使用散列集,因为在散列集中插入和删除元素所花的时间比较少。 当需要一个排好序的集合时,可以从这个散列集创建一个树形集。
 
问题1:如果向树形集内添加一个不能与已有元素进行比较的元素,会发生什么情况?
   
 
 
 

集合类Hash Set,LinkedHashSet,TreeSet的更多相关文章

  1. java集合框架之几种set(HashSet LinkedHashSet TreeSet )

    参考http://how2j.cn/k/collection/collection-sets/691.html#nowhere HashSet LinkedHashSet TreeSet HashSe ...

  2. HashSet LinkedHashSet TreeSet 分析

    1.HashSet分析 hashset 底层是hash表,就是hashMap,是无序的,唯一的.也就是说,它的底层其实就是一个HashMap  key 值的组成值.所以具有唯一性. public Ha ...

  3. HashSet,LinkedHashSet,TreeSet的区别

    Set接口Set不允许包含相同的元素,如果试图把两个相同元素加入同一个集合中,add方法返回false.Set判断两个对象相同不是使用==运算符,而是根据equals方法.也就是说,只要两个对象用eq ...

  4. JDK源码学习笔记——HashSet LinkedHashSet TreeSet

    你一定听说过HashSet就是通过HashMap实现的 相信我,翻一翻HashSet的源码,秒懂!! 其实很多东西,只是没有静下心来看,只要去看,说不定一下子就明白了…… HashSet 两个属性: ...

  5. Java 基础 - Set接口 及其实现类HashSet/LinkedHashSet/TreeSet

    笔记: /**Set接口 及其实现类 * 公用操作同Collection: * * ①size(),clear()②isEmpty(),③contains(),④add()方法 和remove()方法 ...

  6. [集合Set]HashSet、LinkedHashSet TreeSet

    Set Set是不包含重复元素的集合.更正式地,集合不包含一对元素e1和e2,使得e1.equals(e2),并且最多一个空元素. 无索引,不可以重复,无序(存取不一致) Set接口除了继承自Coll ...

  7. TreeSet, LinkedHashSet and HashSet 的区别

    1. 介绍 TreeSet, LinkedHashSet and HashSet 在java中都是实现Set的数据结构 # TreeSet的主要功能用于排序 # LinkedHashSet的主要功能用 ...

  8. Set集合[HashSet,TreeSet,LinkedHashSet],Map集合[HashMap,HashTable,TreeMap]

    ------------ Set ------------------- 有序: 根据添加元素顺序判定, 如果输出的结果和添加元素顺序是一样 无序: 根据添加元素顺序判定,如果输出的结果和添加元素的顺 ...

  9. Java集合系列(三):HashSet、LinkedHashSet、TreeSet的使用方法及区别

    本篇博客主要讲解Set接口的三个实现类HashSet.LinkedHashSet.TreeSet的使用方法以及三者之间的区别. 注意:本文中代码使用的JDK版本为1.8.0_191 1. HashSe ...

随机推荐

  1. spark 笔记 11: SchedulingAlgorithm 两种调度算法的优先级比较

    调度算法的最基本工作之一,就是比较两个可执行的task的优先级.spark提供的FIFO和FAIR的优先级比较在SchedulingAlgorithm这个接口体现.) { ) { ) { ) { fa ...

  2. 使用SNMP监控服务器运行情况

    系统监测的基本概念及分类: a.系统监测的概述: 如何对现有IT架构的整体以及细节运行情况进行科学.系统和高效地监测是目前各企业运维和管理部门一项非常重要的工作内容.随着当前企业IT环境中服务器.应用 ...

  3. redhat下配置SEED DVS6446开发环境1

    Linux NFS服务详解   1.什么是NFS(Network FileSystem)  NFS 就是 Network FileSystem 的缩写,最早之前是由 Sun 所发展出来的.他最大的 功 ...

  4. idea 编译 brooklin

    gradle 项目导入 idea 之后,各种报错,run 不起来 手动加入各种依赖 配置启动类 指定 log4j.properties

  5. jquery的then方法

    绿地项目中的代码: $.ajax({ url: `https://openapi.italent.cn/OAuth/Token`, type: 'post', data: `tenant_id=${t ...

  6. template要加s,重启服务,不然报错

  7. Python Basics with Numpy

    Welcome to your first assignment. This exercise gives you a brief introduction to Python. Even if yo ...

  8. 【VS开发】VC实现程序重启的做法

    转载地址:http://blog.csdn.net/clever101/article/details/9327597 很多时候系统有很多配置项,修改了配置项之后能有一个按钮实现系统重启.所谓重启就是 ...

  9. lua基础学习(五)

    一.Lua 模块与包 模块类似于一个封装库,从 Lua 5.1 开始,Lua 加入了标准的模块管理机制,可以把一些公用的代码放在一个文件里,以 API 接口的形式在其他地方调用,有利于代码的重用和降低 ...

  10. Prometheus Querying Function rate() vs irate()

    rate() rate(v range-vector) calculates the per-second average rate of increase of the time series in ...