利用ConcurrentHashMap来实现一个ConcurrentHashSet

package hashset;import java.io.Serializable;
import java.util.AbstractSet;
import java.util.Iterator;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;/*** @author xfyou* @date 2018/9/3*/
public class ConcurrentHashSet<E> extends AbstractSet<E> implements Set<E>, Serializable {private static final long serialVersionUID = -8672117787651310382L;private static final Object PRESENT = new Object();private final ConcurrentHashMap<E, Object> map;public ConcurrentHashSet() {this.map = new ConcurrentHashMap<>();}public ConcurrentHashSet(int initialCapacity) {this.map = new ConcurrentHashMap<>(initialCapacity);}@Overridepublic Iterator<E> iterator() {return map.keySet().iterator();}@Overridepublic boolean isEmpty() {return map.isEmpty();}@Overridepublic boolean contains(Object o) {return map.containsKey(o);}@Overridepublic boolean add(E e) {return map.put(e, PRESENT) == null;}@Overridepublic boolean remove(Object o) {return map.remove(o) == PRESENT;}@Overridepublic void clear() {map.clear();}@Overridepublic int size() {return map.size();}}

转载于:https://www.cnblogs.com/frankyou/p/9580585.html

利用ConcurrentHashMap来实现一个ConcurrentHashSet相关推荐

  1. 利用fputc函数写一个putw(w,fp)函数,将整数w写入fp所指文件中; 利用fgetc函数写一函数getw(fp)从所指文件读出一整数

    <程序设计基础-c语言>杨莉 刘鸿翔 ISBN-978-7-03-032903-5 p257 习题8 5.利用fputc函数写一个putw(w,fp)函数,将整数w写入fp所指文件中: 利 ...

  2. vue树形结构html,怎么在vue中利用递归组件实现一个树形控件

    怎么在vue中利用递归组件实现一个树形控件 发布时间:2021-06-11 17:26:48 来源:亿速云 阅读:81 作者:Leah 本篇文章为大家展示了怎么在vue中利用递归组件实现一个树形控件, ...

  3. python怎么判断一个文件是否存在-利用Python如何判断一个文件是否存在

    通常在读写文件之前,需要判断文件或目录是否存在,不然某些处理方法可能会使程序出错.所以最好在做任何操作之前,先判断文件是否存在. 这里将介绍三种判断文件或文件夹是否存在的方法,分别使用os模块.Try ...

  4. 怎么用Android做登录界面,利用Android怎么制作一个APP登录界面

    利用Android怎么制作一个APP登录界面 发布时间:2020-12-02 17:09:10 来源:亿速云 阅读:79 作者:Leah 这期内容当中小编将会给大家带来有关利用Android怎么制作一 ...

  5. 函数模板案例_利用函数模板封装一个排序的函数,可以对不同数据类型数组进行排序 排序规则从大到小,排序算法为选择排序 分别利用char数组和int数组进行测试

    案例描述: 利用函数模板封装一个排序的函数,可以对不同数据类型数组进行排序 排序规则从大到小,排序算法为选择排序 分别利用char数组和int数组进行测试 #include <iostream& ...

  6. python中词云图怎样变成特殊图案_如何利用python画出一个多变的词云图?(1)...

    问题描述: 如何利用python画出一个多变的词云图? 解决方法:import numpy as np import matplotlib import matplotlib.pyplot as pl ...

  7. Py之pygame:有趣好玩——利用pygame库实现一个移动底座弹球的小游戏

    Py之pygame:有趣好玩--利用pygame库实现一个移动底座弹球的小游戏 目录 输出结果 实现代码 输出结果 实现代码 # -*- coding: utf-8 -*-#Py之pygame:有趣好 ...

  8. 浮点数相加php,利用php怎么实现一个浮点数精确运算功能

    利用php怎么实现一个浮点数精确运算功能 发布时间:2020-12-15 16:06:03 来源:亿速云 阅读:94 作者:Leah 今天就跟大家聊聊有关利用php怎么实现一个浮点数精确运算功能,可能 ...

  9. 小王利用计算机设计了一个计算程序,七年级数学上册5.3代数式的值巧求计算机里的代数式的值素材(新版)青岛版...

    巧求计算机里的代数式的值 随着社会的发展,电脑已进入了寻常百姓家,为既能培养学生学习电脑的兴趣,又能培养学生的应用意识,各地中考试题出现了以计算机为背景的许多题目,解决这类题目的关键在于搞清计算机程序 ...

最新文章

  1. app获取个人信息是否合法_【关注】如何界定App违法违规收集个人信息?认定方法来了!...
  2. 20151102adonet2
  3. [译] Swift 中的惰性序列及其原理
  4. 经济师考计算机英语考试,中级经济师考试合格算获得中级职称吗?需要考英语和计算机吗?...
  5. ubuntu20更换节点_Ubuntu 20.04 apt 更换国内源的实现方法
  6. 手把手干货教学Matlab载波调制
  7. 大数据和python哪个好_大数据语言之争:Java和python哪个好?
  8. 数论相关:同余方程与同余方程组的解法
  9. 【复习】原生Js实现文件上传
  10. svn服务器基本知识及搭建
  11. java面试题十九 判断题
  12. Jira更换mysql数据库_JIRA6.0更换数据库到MYSQL
  13. WIN2003 X64 系统上安装sql server 2000 的步骤
  14. 代码管理学:代码分堆
  15. java开源项目地址
  16. 闲赋在家的猿们、接下来怎么走?
  17. Win10红警如何关闭3d加速?
  18. 基于Vue+Node+SSM+MySQL的流浪动物救助平台设计与实现
  19. 获取当前时间的东八区时间
  20. P1395 会议 题解

热门文章

  1. javase基础回顾(三) 动态代理
  2. Java程序员的日常—— Arrays工具类的使用
  3. sql语句转linq的一个小工具
  4. 小程序 md5 32位加密
  5. 在 Linux 下确认 NTP 是否同步的方法
  6. [计算机视觉][神经网络与深度学习]Faster R-CNN配置及其训练教程
  7. ios 缺少合规证明
  8. 解决WebClient或HttpWebRequest首次连接缓慢问题
  9. 不同系统平台下Java默认的安装路径
  10. JSP中文乱码问题终极解决方案(转)