Java手写HashSet
一:引言
HashSet类继承于 Set接口 其方法均可被直接调用,不用手写,本篇敲的码是为了熟悉底层原理,HashMap的特点:无序,无重复。其底层用的也是map<key,value>容器,但其value值固定,所以在HashSet当中存储key值时,不可重复。
二:上码
package cn.wyj.two;import java.util.HashMap;
import java.util.Map;public class Demo8_手写HashSet {Map map;public static final Object VALUE = new Object();public Demo8_手写HashSet(){map = new HashMap();}public int size(){return map.size();}public void add(Object obj){map.put(obj,VALUE);}@Overridepublic String toString() {// TODO Auto-generated method stubStringBuilder sb = new StringBuilder();sb.append("[");for(Object temp:map.keySet()){sb.append(temp+",");}sb.setCharAt(sb.length() - 1, ']');return sb.toString();
}public static void main(String[] args) {Demo8_手写HashSet set = new Demo8_手写HashSet();set.add("aa");set.add("bb");set.add("cc");set.add("cc");//测试重复元素System.out.println(set);}
}
Java手写HashSet相关推荐
- Java手写线程池-第一代(原创)
个人简介 作者是一个来自河源的大三在校生,以下笔记都是作者自学之路的一些浅薄经验,如有错误请指正,将来会不断的完善笔记,帮助更多的Java爱好者入门. 文章目录 个人简介 Java手写线程池(第一代) ...
- java 手写 jvm高性能缓存
java 手写 jvm高性能缓存,键值对存储,队列存储,存储超时设置 缓存接口 1 package com.ws.commons.cache; 2 3 import java.util.functio ...
- Java 手写一个SQL分页
Java手写一个类似PageHelper的分页SQL 目前分页插件众所周知的莫过于和mybatis完美融合的PageHelper了,简单两行代码就实现了sql分页,配合PageInfo类,将数据总数量 ...
- Java 手写签字去除背景 背景透明
Java 手写签字去除背景 背景透明 /*** 白底照片去除白底 形成透明底图片* @param file 需要去除背景的图片* @param Path 去除背景后保存图片的路径* @return t ...
- java手写实现BST
难易程度:★★★ 重要性:★★★★★ 今日头条的面试中有过要求:手写实现BST import java.util.*;public class MyBSTImpl {// BST中的节点TreeNod ...
- 纯jsp实现评论功能_自己实现的java手写tomcat
这是一个java写的模拟tomcat工作原理的demo,是一个极简的tomcat服务器,也是我们培训班(邦邦IT教育)的讲义,是整个j2ee培训的精髓,理解了这个demo其实后面的很多东西都是可以自学 ...
- Java手写Hashmap(HashMap的基本用法)
一:引言 HashMap是Map的实现类,其方法都可以继承Map,不用手写,本篇只是为了了解底层代码和复习java基础敲得码 二:上码 package cn.wyj.two;public class ...
- JAVA手写ArrayList以及LinkedList
手写记录一下~ 顶级接口List public interface List<E> {//返回线性表的大小public int getSize();//判断线性表中是否为空public b ...
- 高级JAVA - 手写简单的重试组件学习Spring Retry
目录 一 . 定义注解 二 . 利用cglib代理扩展重试业务 三 . 编写代理类 , 使用自定义的XRetryInterceptor作为拦截器 四 . 编写相关业务方法 , 测试代码 五 . 测试结 ...
最新文章
- 关于CSDN不给任何通知强制关闭我的6年博客,我深表痛心
- 图分区技术基本概念【1】
- K8S部署工具:KubeOperator集群规划-自动模式
- 场景感知:CNN方法对三维重建/slam/实时定位的一些Base改进
- conditional_如何:在Spring中使用@Conditional和Condition注册组件
- python自动登录校园网_免费自动登录国科大校园网python脚本
- matlab中now函数_now()方法以及JavaScript中的示例
- python携程gevent_Python协程介绍以及优缺点 Greentlet和Gevent的使用
- IEEE754标准浮点格式
- oracle授权with,Oracle With 语句语法及示例
- 电商API,获得淘宝商品类目
- 14届数独-真题标准数独-Day 3-20220118
- 一键分析你的上网行为, 看看你平时上网都在干嘛?
- 终于知道为啥网页不让我复制粘贴了!
- 局部语义地图构建——HDMapNet
- AtCoder - agc005_b(单调栈)
- android studio文件名颜色分别表示含义
- GCN - Semi-Supervised Classification with Graph Convolutional Networks 用图卷积进行半监督节点分类 ICLR 2017
- 理解np.max、np.min、np.argmax、np.argmin以及np.sum中的axis参数
- Snapman设计中的思考
热门文章
- android蓝牙多次后,android – 如何防止BluetoothGattCallback一次多次执行
- 【ArcGIS微课1000例】0014:ArcGIS中如何将kml(kmz)文件转shp,并进行投影转换?
- 【数据库原理及应用】经典题库附答案(14章全)——第四章:关系系统及其优化
- 【地理建模】现代地理学中的数学方法:主成分分析法案例详解
- NetBeans安装提示neatbeans cannot find java 1.8 or higher
- C和指针之IO流和缓冲区
- linux c之main(int argc, char *argv[], char *envp[])参数意义
- Android插件化开发基础之App如何动态加载类
- python商用_python实现sm2和sm4国密(国家商用密码)算法的示例
- 分子模拟软件amber_容天AMBER优化的GPU解决方案