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

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

  • 相关阅读:
    python定义函数时的默认返回值
    【UNIX网络编程】配置unp.h和apueerror.h
    【UNIX网络编程】套接字编程简介
    【UNIX网络编程】概述
    【VSCode】Ubuntu下VSC编译运行c++程序
    【UNIX网络编程】传输层:TCP、UDP和SCTP
    nginx跨域配置
    centOS7.*安装nginx和简单使用
    nginx日志切割
    nginx静态资源防盗链
  • 原文地址:https://www.cnblogs.com/zhahu/p/12333671.html
Copyright © 2011-2022 走看看