zoukankan      html  css  js  c++  java
  • 集合类Hash Set,LinkedHashSet,TreeSet

      集合(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:如果向树形集内添加一个不能与已有元素进行比较的元素,会发生什么情况?
       
     
     
     
  • 相关阅读:
    前端知识总汇
    html基础
    linux密码修改实验
    [ 转 ] 为 phpstorm 自定义默认 Web 服务器
    简易 PHP 教程小记
    EXPORT Man Information for Linux use COMMAND col
    CiSCO 交换机配置 SSH 登陆
    修复已损坏的交换机IMG
    Jupyter Notebook远程服务器配置[转]
    Linux 调节分辨率
  • 原文地址:https://www.cnblogs.com/magicya/p/6679080.html
Copyright © 2011-2022 走看看