zoukankan      html  css  js  c++  java
  • HashSet和TreeSet

    HashSet

    HashSet:HashSet是Set接口的典型实现,大多数时候使用Set集合时都是用这个实现类,我们大多时候时候说的set集合指的都是HashSet

    HashSet按照Hash算法来存储集合中的元素,以你具有很好的存取和查找性能.

    HashSet具有以下特定:

    • 不能保证元素的排列顺序(根据hashCoed值来排列)
    • 不可重复
    • HashSet不是线程安全的
    • 集合元素可以使用null

    当向HashSet集合中存入一个元素时,Hashset会调用该对象的HashCode()方法来得到该对象的hashCode值,然后根据hashCode值决定该对象在HashSet中的存储位置

    Set set = new HashSet();//等价于Set<Object> set = new HashSet();
    

    各种方法:

    • add():添加
    • remove():删除
    • clear():清除hashSet真个列表
    • contains():判断某元素是都在HashSet中

    如何遍历HashSet:

    Iterator it = set.iterator();
    while (it.hasNext()){
        System.out.println(it.next());
    }
    
    //for each迭代集合,
    for(Object obj:set){
        System.out.println(obj);
    }
    

    查找HashSet的大小: set.size()
    在这里插入图片描述

    //如果想让集合只存同样的数据类型

    //如果想让集合只存桶有的数据类型
    //使用泛型
    Set<String> set1 = new HashSet();
    set1.add("1");
    

    TreeSet

    treeSet可以确保集合元素处于排序状态

    TreeSet支持两周排序方法:自然排序和定制排序.默认情况下,TreeSet采用自然排序
    在这里插入图片描述

    Set set = new TreeSet();
    

    遍历与hashSet相同.

    Iterator it = set.iterator();
    while (it.hasNext()){
        System.out.println(it.next());
    }
    
    //for each迭代集合,
    for(Object obj:set){
        System.out.println(obj);
    }
    

    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    linux时间同步,ntpd、ntpdate
    重启HPE管理芯片ILO5的5种方法(Reset ilo)
    Linux内核SPI支持概述
    linux 查看CPU详情命令
    高可用
    NFS的介绍
    SELINUX
    error: undefined reference to 'android::hardware::details::return_status::~return_status()'
    errors collectiions
    大型分布式架构设计与实现-第三章互联网安全架构
  • 原文地址:https://www.cnblogs.com/zhahu/p/12333671.html
Copyright © 2011-2022 走看看