集合(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. 6、kubernetes资源清单之Pod控制器190714

    一.Pod控制器的类别 ReplicationController:早期唯一的控制器,已废弃 ReplicaSet:控制Pod满足用户期望副本:标签选择器选择由自己管理的Pod副本:Pod资源模板完成 ...

  2. synchronized 读写同步

    synchronized 读写同步 这是一道面试题,很多人也遇到了. 要求:1.读-读 不用线程同步.2.读-写 要求线程同步,写的时候不能读.3.写-写同步.写的时候不能写. java lock读写 ...

  3. 乌班图docker版本18.04升级到19.03

    # 关闭docker sudo systemctl stop docker # 卸载旧版本: sudo apt-get purge docker-ce # 安装新版本 sudo apt update ...

  4. fastjson解析list ,object中含有list, object中含有map

    1.首先定义测试vo package com.haiyisoft.cAssistantWeb.ui; import java.sql.Timestamp; public class vo {priva ...

  5. php array function

    说明:不特殊说明都支持php4,5,7 参考:https://www.php.net/manual/zh/ref.array.php   is_array ( mixed $var ) : bool ...

  6. PermissionUtils

    import android.annotation.TargetApi; import android.app.Activity; import android.content.Context; im ...

  7. android:layout_gravity 和 android:gravity 的区别?

    第一个是让该布局在其父控件中的布局方式,第二个是该布局布置其字对象的布局方式

  8. ControlTemplate in WPF —— Window

    <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" x ...

  9. Oracle中生成随机数的函数

    在Oracle中的DBMS_RANDOM程序包中封装了一些生成随机数和随机字符串的函数,其中常用的有以下两个: DBMS_RANDOM.VALUE函数 该函数用来产生一个随机数,有两种用法: 1. 产 ...

  10. select框可编辑

    $(function(){ $("#select").editableSelect({ //$("#select")为select框id effects: 's ...