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);
    }
    

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

  • 相关阅读:
    Android UI Fragment探索之进阶篇
    Android Intent详解
    Android Activity数据间传递媒介Intent和任务与后退栈(进阶之路)
    Git使用详细教程
    const的用法,特别是用在函数前面与后面的区别!
    Linux下设置和查看环境变量
    Linux下查看和添加环境变量
    3Dslicer_Editor(2)
    3Dslicer_Editor(1)
    3Dslicer_DataModule
  • 原文地址:https://www.cnblogs.com/zhahu/p/12333671.html
Copyright © 2011-2022 走看看