模拟HashSet

2023-10-27

package chain;

/**
 * 单链表 节点(Map中的Entry<K,V>)
 * 
 * @author sd
 * 
 */
public class Node_Single {
	public String key;// 节点的值

	public Node_Single next;// 指向下一个的指针

	public Node_Single(String key) {// 初始化head
		this.key = key;
		this.next = null;
	}

	public Node_Single(String key, Node_Single next) {
		this.key = key;
		this.next = next;
	}

	public String getKey() {
		return key;
	}

	public void setKey(String key) {
		this.key = key;
	}

	public Node_Single getNext() {
		return next;
	}

	public void setNext(Node_Single next) {
		this.next = next;
	}

	@Override
	public String toString() {
		return "Node_Single [key=" + key + ", next=" + next + "]";
	}

}
package chain;

import java.io.IOException;

import net.sf.json.JSONArray;

import org.codehaus.jackson.JsonGenerationException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;

/**
 * 单链表(单个数据组的单链表)
 * 
 * @author sd
 * 
 */
public class SingleList {
	transient static Node_Single[] table = new Node_Single[1];
	static int bucketIndex = 0;// 索引
	public static ObjectMapper mapper = new ObjectMapper();

	/**
	 * 添加一个元素
	 * 
	 * @param node
	 */
	public void addTolist(String key) {
		Node_Single e = table[bucketIndex];
		table[bucketIndex] = new Node_Single(key, e);
	}

	public static void main(String[] args) throws JsonGenerationException,
			JsonMappingException, IOException {
		SingleList sin = new SingleList();
		sin.addTolist("1");
		sin.addTolist("2");
		System.out.println(table[0]);
		System.out.println(JSONArray.fromObject(table));
		System.out.println(mapper.writeValueAsString(table));
	}

}
结果
Node_Single [key=2, next=Node_Single [key=1, next=null]]
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/E:/workspace/Test1/WebContent/WEB-INF/lib/slf4j-log4j12-1.7.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/E:/workspace/Test1/WebContent/WEB-INF/lib/slf4j-log4j12-1.7.6.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
[{"key":"2","next":{"key":"1","next":null}}]
[{"key":"2","next":{"key":"1","next":null}}]


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

模拟HashSet 的相关文章

  • 模块打包器Webpack详解!

    Webpack 1 什么是Webpack Webpack 是一个前端资源加载 打包工具 它将根据模块的依赖关系进行静态分析 然后将这些模块按照指定的规则生成对应的静态资源 从图中我们可以看出 Webpack 可以将多种静态资源 js css
  • 关于c语言main函数中int argc,char **argv的理解

    关于c语言main函数中int argc char argv的理解 c语言main函数通常形如int main int argc char argv 那么argc和argv代表啥呢 其实 argc表示传入main函数的参数的个数 而argv

随机推荐

  • Spark【Spark SQL(四)UDF函数和UDAF函数】

    UDF 函数 UDF 是我们用户可以自定义的函数 我们通过SparkSession对象来调用 udf 的 register name String func A1 A2 A3 方法来注册一个我们自定义的函数 其中 name 是我们自定义的函
  • MATLAB机器学习方法之朴素贝叶斯算法

    朴素贝叶斯分类算法的核心算法是 或 而如果所有特征都相互独立的话 P 特征 类别k 可以看作 P 特征1 类别k P 特征2 类别k P 特征3 类别k P 特征n 类别k 那么分别计算P 特征 类别1 P 特征 类别2 P 特征 类别3
  • paddlenlp二分类引入评估召回率F1指标 paddle.metric Accuracy

    每个具体的参数代表什么 明确好 无非就是第几个样本 属于某个类别的概率 非常清晰 from paddlenlp metrics import AccuracyAndF1 paddle no grad def evaluate model c
  • 基础知识——BCD码

    十六进制转二进制 将每一位十六进制转化为4位二进制位即可 BCD码 将十进制的每一位转化为4位二进制位即可 转换方法都是将每一位转为4位二进制位 但是区别是一个对应的是十六进制 一个对应的是十进制 比如给出二进制数0101 0101 如果对
  • muduo Timestamp详解

    1 简介 Timestamp用于提供时间戳相关的工具函数 2 类与接口 string toString const 返回时间的字符串形式 例如1649224501 687051 string toFormattedString bool s
  • 在word中插入分页符,多出一行

    类似问题在网上也有多次提及 例如 1 ctrl enter进行分页 但是下一页开头总是多出一行 2 Word换页时 上一页多了一行看不见的行 影响下页的标题编辑 3 word2007分页出现问题 分后多出一行 删除了后面的格式没了 4 wo
  • 点双连通分量&边双联通分量详解

    文章目录 点双连通分量 前言 概念 性质 找割点 找点双 附赠题表 边双连通分量 概念 性质 找割边 找边双 做法1 做法2 题表 一点个人感想 点双连通分量 前言 由于点双和边双都是无向图里面的东西 所以下面的讲解都以图是无向图作为前提
  • 微信小程序之实现下拉刷新效果

    本文章将主要介绍微信小程序如何实现简单的下拉刷新效果的 代码简单明了 主要 api wx showLoading Object object 显示 loading 提示框 wx hideLoading Object object 关闭 lo
  • vue中实现文件批量打包压缩下载(以及下载跨域问题分析)

    上次做了一个选择多个数据生成多个二维码并下载 当时项目催的紧 就简单写了个循环生成二维码下载 一次性会下载很多文件 特别难整理 刚好这次项目又遇到类似这种功能 需要一次性批量下载多个文件 那么就安排下打包下载吧 需要用到的是file sav
  • 区块链技术对人工智能的影响

    区块链技术在最近几年席卷全球 在改变互联网的同时也在改变着其他行业的发展 区块链的技术在当前的发展潜力十分巨大 一些业内人士对区块链技术的预估价值要比互联网高出好几倍 这也说明区块链技术能够影响世界转型格局 人工智能也是近几年兴起的又一热门
  • Extjs 4.2 comboBox下拉复选框 checkbox

    Ext create Ext form field ComboBox name cmb fieldLabel 人员 margin 2 0 2 0 labelWidth 135 labelAlign right editable false
  • ADS系列 - 定向耦合器设计教程1

    相关文章 ADS SystemVue 文章集合页 ADS系列 混频器设计 混频器原理介绍及仿真1 ADS系列 低噪声放大器 LNA 模型下载安装及 LNA仿真设计 Keysight的 SystemVue 介绍及与 ADS 区别对比 Ansy
  • 《银行法律法规》三、银行管理——2、商业银行资产负债管理

    第三章 商业银行资产负债管理 第一节 资产负债管理概述 考点1 资产负债管理的对象 对于商业银行而言 传统资产负债管理的对象即是银行的资产负债表 传统资产负债管理的内涵是 根据外部形势变化及发展战略要求 以资本约束为核心 以资产负债组合管理
  • Hive HiveQL基础知识及常用语句总结

    https blog csdn net u012386109 article details 78214894 https blog csdn net u010385646 article details 53167707 基础语句 CRE
  • Java JDK 安装及环境配置教程

    一 安装 1 安装包 jdk1 8安装包下载路径 2 创建一个英文的文件夹 注意 整个路径不要有中文 建议文件夹直接命名为JDK 3 在该文件夹下创建两个空文件夹 分别为 jdk1 8 和 jre 其中jdk1 8 是我的JDK版本 这个可
  • 还是搜索、索引的问题

    搜索要弄清2个基本问题 1 要搜索出什么类型的entity 2 entity的哪个方面 维度和关键词发生关联的 一般来说可以有多个角度link到entity 一个entity支持多个索引 可以从不同的column检索 对于 web sear
  • elasticsearch ubuntu 安装

    之前 一直听说 Elasticsearch功能强大 我今天安装了下 到pypi里看了下 并安装到虚拟环境中 本以为它就是一个包呢 所以试着用 结果出问题了 后来一看 原来它也是分服务端可客户端的 pypi里的这个是客户端 搭建很简单 所以我
  • Qt Qstring字符串的查找、替换、切割操作

    文章目录 查找 替换replace 字符串切割 查找 直接上代码 include
  • 手把手教你使用simulink配合STM32CUBEMX (生成keil项目实战)

    本文的作者在自学过程中发现该类资料的缺少 以及前人叙述不够完善的情况下 进行了本文的创作 文章将一步一步的讲解如何使用simulink将F4的灯点亮 更多的功能我们一起探索 别的型号的 cpu 大家可以类比进行 1 首先是将MATLAB安装
  • 模拟HashSet

    package chain 单链表 节点 Map中的Entry