4.30Java 手动敲简易的HashSet
2021/4/30 22:55:14
本文主要是介绍4.30Java 手动敲简易的HashSet,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
4.30Java 手动敲简易的HashSet
先确定HashSet当中要拥有的方法和属性
-
add方法
-
size方法
传入的对象直接作为HashSet里面的HashMap的key值
属性包括:
-
HashMap
-
固定的一个常量值
定义一个HashSet类:
package collection.set; import java.util.HashMap; /** * 手动实现一个简单的HashSet,理解HashSet底层原理 * @author Lucifer */ public class RealizeHashSet { /*因为HashSet底层原理核心就是一个HashMap对象,所以先定义一个HashMap*/ HashMap map; //定义一个固定的产量作为value值 public static final Object PRESENT = new Object(); /*构造器*/ public RealizeHashSet(){ //在这里直接当以Map对象 map = new HashMap(); } /*获得里面的内容---直接然会map的size*/ public int size(){ //直接返回map的size方法---这里不是RealizeHashSet的size方法 return map.size(); } /*调用add方法*/ public void add(Object o){ //返回值 //传入的对象作为key,一个常量作为固定的value值 map.put(o,PRESENT); } /*重写toString方法*/ @Override public String toString(){ //返回一个字符串---StringBuilder类下的方法 StringBuilder sb = new StringBuilder(); //添加头符号 sb.append("["); //打印遍历里面所有的key---增强for循环 for (Object key : map.keySet()){ //循环元素 sb.append(key + ","); } //直接返回sb的toString方法 sb.setCharAt(sb.length() - 1, ']'); return sb.toString(); } }
测试类:
package collection.set; /** * 测试RealizeHashSet的实现 * @author Lucifer */ public class Test { public static void main(String[] args) { //创建类对象 RealizeHashSet rhs = new RealizeHashSet(); //调用类里面的方法 rhs.add("Lucifer"); rhs.add("Harden"); rhs.add("JunKingBoy"); //打印出结果 System.out.println(rhs); } }
这篇关于4.30Java 手动敲简易的HashSet的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26Java语音识别项目资料:新手入门教程
- 2024-11-26JAVA语音识别项目资料:新手入门教程
- 2024-11-26Java语音识别项目资料:入门与实践指南
- 2024-11-26Java云原生资料入门教程
- 2024-11-26Java云原生资料入门教程
- 2024-11-26Java云原生资料:新手入门教程
- 2024-11-25Java创意资料:新手入门的创意学习指南
- 2024-11-25JAVA对接阿里云智能语音服务资料详解:新手入门指南
- 2024-11-25Java对接阿里云智能语音服务资料详解
- 2024-11-25Java对接阿里云智能语音服务资料详解