手工实现hashset
2024-09-04 21:23:29
package cn.study.lu.four;
import java.util.*;
/**
* 手工实现hashmap,加深理解底层原理
* @author Administrator
*
*/
public class MyHashSet {
HashMap map;
private static final Object PRESENT = new Object();
public MyHashSet() {
map = new HashMap();
}
public void put(Object o) {
map.put(o, PRESENT);
}
public int size() {
return map.size();
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("[");
for(Object key: map.keySet()) {
sb.append(key+",");
}
sb.setCharAt(sb.length()-1,']');
return sb.toString();
}
public static void main(String[] args) {
MyHashSet set = new MyHashSet();
set.put("aaa");
set.put("bbb");
set.put("ccc");
set.put("ddd");
System.out.println(set);
}
}
最新文章
- (转载)android:android.content.res.Resources$NotFoundException: String resource ID #..
- Nancy 自定义JsonSerializer
- Dean Edwards大神写的addEvent库
- editPlus,3.7V 注册码
- hiho一下116周 网络流
- Android解析Excel文档完整示例
- schedule()函数的调用时机(周期性调度)
- Android 高仿微信即时聊天 百度云为基础的推
- HDInsight-Hadoop现实(两)传感器数据分析
- ubuntu软件使用汇总
- Node.js 虚拟机
- jdbc封装的类
- centos7安装mariadb
- Perl:undef类型和defined()函数
- Mobile First! Wijmo 5 之 架构
- Software Engineering homework2
- 关于linux中用vi新建立一个.c文件无法保存,显示E212错误的时候
- [leetcode]314. Binary Tree Vertical Order Traversal二叉树垂直遍历
- mysql09---sql语句优化
- Python-argparse-命令行与参数解析
热门文章
- jquery.ui.widget.js
- vue-element-template模板项目使用记录(持续更新)
- 阶段1 语言基础+高级_1-3-Java语言高级_03-常用API第二部分_第5节 StringBuilder类_1_StringBuilder的原理
- delphi 静态3维数组。 严重占用堆栈 切记。 应该用动态数组, 非要用静态数组的话, 要在编译器里 把 堆栈 调大
- 类TreeMap
- 类LinkedHashSet
- string与wstring的互相转换接口(Windows版本)
- ios-wx.chooseImage选择图片后,在ios中选中的图片未显示
- UIAutomation元素识别软件
- 【SD系列】SAP SD模块-公司间销售简介