资讯专栏INFORMATION COLUMN

Java知识点总结(Java容器-HashSet)

MadPecker / 2251人阅读

摘要:不是同步的也就是线程不安全,如果多个线程访问同一个集合,如果有条或者条以上线程同时修改了集合时,必须使用代码来保证其同步元素值可以是不能保证元素的排列顺序,顺序有可能发生变化手写把里的用一个常量来代替底层利用,实现不可重复

Java知识点总结(Java容器-HashSet)

@(Java知识点总结)[Java, Java容器, JavaCollection, JavaSet]

HashSet特点

HashSet按Hash算法来存取 查找集合中的元素

HashSet具有很好的存取 查找的性能 从HashSet中查找某个对象时,首先调用对象的hashCode方法获取该对象的哈希码,然后根据哈希码找到相应的存储区域,最后取出该存储区域的每个元素与该元素进行equals方法比较,这样就不用遍历集合中所有元素就能查找到结果。

HashSet不是同步的 也就是线程不安全,如果多个线程访问同一个Set集合,如果有2条或者2条以上线程同时修改了HashSet集合时,必须使用代码来保证其同步

元素值可以是null

不能保证元素的排列顺序,顺序有可能发生变化

手写HashSet
public class MyHashSet {
  HashMap map;
  private static final Object PRESENT = new Object(); //把map里的value用一个常量来代替
  
  public MyHashSet(){
    map = new HashMap();
  }
  public void add(Object obj) {
    map.put(obj , PRESENT);  //底层利用map,实现不可重复
  }
  public int  size() {
    return map .size();
  }
  public static void main(String[] args) {
    MyHashSet set = new MyHashSet();
    set.add("1" );
    set.add("2" );
    set.add("3" );
    System.out.println(set.size());
  }
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/69596.html

相关文章

  • Java识点总结Java容器-Set)

    摘要:知识点总结容器知识点总结容器是一种不包括重复元素的。由于接口的特殊性,所有传入集合中的元素必须不同。集合判断两个对象是否相同,是使用方法,而不是使用运算符的。只能存储,所以只会在存储的情况下使用。 Java知识点总结(Java容器-Set) @(Java知识点总结)[Java, Java容器, JavaCollection, JavaSet] Set Set是一种不包括重复元素的Col...

    dack 评论0 收藏0
  • Java识点总结Java容器-Iterator)

    摘要:知识点总结容器知识点总结容器对象称作迭代器,用于方便地实现对容器内元素的遍历操作接口定义如下判断是否有元素没有被遍历返回游标当前位置的元素并将游标移动到下一个位置删除游标左面的元素,在执行完之后该操作只能执行一次迭代器的使用实现实现原理游 Java知识点总结(Java容器-Iterator) @(Java知识点总结)[Java, Java容器] Iterator Iterator对象称...

    iliyaku 评论0 收藏0
  • Collection集合识点总结

    摘要:和的区别是非线程安全的,效率高是基于线程安全的,效率低底层基于链表实现,链表内存是散乱的,每一个元素存储本身内存地址的同时还存储下一个元素的地址。基本上都是以为基础。 什么是集合 Java是一门面向对象的语言. 为了方便操作多个对象,那么我们就得把这多个对象存储起来 想要存储多个对象(变量),我们就需要一个容器 集合就是一个放数据的容器(集合类存放的都是对象的引用,而非对象本身) ...

    I_Am 评论0 收藏0
  • Java集合总结【面试题+脑图】,将识点一网打尽!

    摘要:而在集合中,值仅仅是一个对象罢了该对象对本身而言是无用的。将这篇文章作为集合的总结篇,但觉得没什么好写就回答一些面试题去了,找了一会面试题又觉得不够系统。 前言 声明,本文用的是jdk1.8 花了一个星期,把Java容器核心的知识过了一遍,感觉集合已经无所畏惧了!!(哈哈哈....),现在来总结一下吧~~ 回顾目录: Collection总览 List集合就这么简单【源码剖析】 Ma...

    yearsj 评论0 收藏0
  • Java识点总结Java容器-Collection)

    摘要:知识点总结容器知识点总结容器函数库是包下的一些接口和类,类是用来产生对象存放数据用的,而接口是访问数据的方式。底层也是数组实现,线程安全,效率低效率高,线程不安全。 Java知识点总结(Java容器-Collection) @(Java知识点总结)[Java, Java容器, JavaCollection] [toc] Collection Collection函数库是java.uti...

    GeekGhc 评论0 收藏0

发表评论

0条评论

MadPecker

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<