`
xiangxingchina
  • 浏览: 519991 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

hashmap的简单实现

 
阅读更多

 

/**
 * @author luxiangxing
 * @time   2017-05-05
 * @email  xiangxingchina@163.com
 * @tel    15330078427
 */
public class SimpleHashMap<K,V> {
	private int size = 100;
	private Entry<K,V>[] table = new Entry[size];
	
	public void put(K k,V v){
		int h = hash(k);
		Entry o = table[h];
		table[h] = new Entry(h,k,v,o);
	}
	
	public V get(K k){
		int h = hash(k);
		Entry<K,V> c = table[h];
		while(c!=null){
			if (c.k.equals(k)) {
				return c.v;
			}
			c = c.e;
		}
		return null;
	}
	
	
        private int hash(K key) {
            return (key.hashCode() & 0x7fffffff) % size;
        }
}

class Entry<K,V>{
	private int h;
	K k;
	V v;
	Entry e;
	public Entry(int h,K k,V v,Entry e) {
		this.h = h;
		this.k = k;
		this.v = v;
		this.e = e;
	}
}

 

 

0
1
分享到:
评论

相关推荐

    用hashmap实现词典查询

    本话题主要关注如何利用HashMap这一数据结构来实现词典查询,以提供快速、便捷的字典服务。HashMap是Java编程语言中的一种内置数据结构,它提供了O(1)的平均时间复杂度来执行查找、插入和删除操作,这使得它成为构建...

    HashMap源码实现红黑树添加元素和删除元素

    HashMap 源码实现红黑树添加元素和删除元素 HashMap 中使用红黑树来存储元素,是为了提高查找、插入和删除操作的性能。红黑树是一种自平衡二叉树,可以保持二叉树的平衡,从而获得较高的查找性能。 红黑树的创建...

    asp hashmap,arraylist实现

    虽然ArrayList操作相对简单,但其查找效率不如HashMap,因为它是线性搜索,时间复杂度为O(n)。在ASP.NET中,ArrayList可能用于存储一组动态生成的数据,比如从数据库查询的结果。 描述中的链接指向了一篇博客文章,...

    简单的QQ聊天程序,用hashmap实现信息的存储

    在这个简单的QQ聊天程序中,开发者利用了HashMap这一数据结构来存储和管理信息,以实现高效的消息传递和用户交互。 HashMap在Java中是集合框架的一个重要组成部分,它是一种基于哈希表的Map接口实现。HashMap提供了...

    Hashmap实现了Map接口的底层实现.docx

    HashMap是Java编程语言中一种非常重要的数据结构,它实现了Map接口,允许存储...HashSet作为HashMap的子类,提供了简单的无序集合存储功能。理解HashMap的底层机制和使用注意事项,对于编写高性能的Java代码至关重要。

    简单的key value hashmap

    哈希映射(HashMap)是Java编程语言中一个非常重要的数据结构,它在《简单的key value hashmap》中被提及,通常用于存储键值对(key-value pairs)。HashMap是Java集合框架的一部分,它提供了高效的查找、插入和删除...

    枚举 HashMap

    以下是一个简单的示例,展示了如何用HashMap实现枚举功能: ```java import java.util.HashMap; import java.util.Map; public class GenericEnum { private static final Map, EnumItem&gt; ENUM_MAP = new HashMap...

    Java用数组和链表的方式简单实现HashMap的增删改功能 数组和链表.pdf

    在Java中,HashMap的实现方式有多种,本文将介绍使用数组和链表的方式简单实现HashMap的增删改功能。 HashMap的数据结构 HashMap的数据结构主要由三个部分组成:数组、链表和红黑树。数组用于存储键值对,链表用于...

    马士兵老师HashMap学习笔记

    在JDK 7中,HashMap的put过程相对简单,也是通过哈希值定位到桶,如果桶为空则直接插入,否则将新元素添加到链表的末尾。然而,由于HashMap是非线程安全的,如果多个线程同时put可能导致死循环的问题。这是因为当两...

    hashmap 集合

    在深入理解HashMap之前,我们先简单回顾一下Java集合的基本概念。 Java集合框架包括Set、List和Map三个主要接口。其中,Map接口不同于Set和List,因为它不存储重复元素,而是通过键来唯一标识每个值。HashMap就是...

    hashmap.zip

    下面我们将深入探讨HashMap的实现原理,以及如何通过代码实现一个简单的HashMap存取示例。 **哈希表基础** 哈希表是一种数据结构,通过哈希函数将键(key)映射到数组的索引位置,从而实现快速访问。HashMap的核心...

    一个基于js的HashMap

    以下是一个简单的JavaScript HashMap实现示例: ```javascript class HashMap { constructor(size = 53) { this.map = new Array(size); } hash(key) { let hash = 0; for (let i = 0; i ; i++) { hash += ...

    Java数组+链表简单实现HashMap的put和get 数组和链表.pdf

    这里我们将分析一个简单的自定义HashMap实现,它使用Java数组和链表来完成put和get操作。 首先,我们看到类`MyHashMap`包含一个名为`Entry`的内部类,`Entry`类代表数组中的每个元素,它包含了键(K)和值(V),...

    HashMap CRUD操作

    创建HashMap对象非常简单,只需要调用构造函数即可: ```java HashMap, Product&gt; productMap = new HashMap(); ``` 这里的`String`是键的类型,`Product`是值的类型,代表每个产品由一个唯一的标识(如产品ID)作为...

    Java-HashMap.rar_hashmap_java hashmap

    `www.pudn.com.txt`可能是提供资料来源的网站链接,这里主要关注的是`Java集合中HashMap的简单使用.txt`文件,它可能包含了关于如何在实际代码中运用`HashMap`的示例和解释。例如,如何创建`HashMap`,插入键值对,...

    hashMap工具类

    在本篇文章中,我们将详细介绍一个名为`hashMap`的工具类,该类被设计用于Adobe Flex应用程序中,旨在提供一种简单且高效的方法来处理键值对数据结构。通过深入分析该类的实现细节,我们能够更好地理解其内部机制,...

    用HashMap写的一个小Demo用来写游戏排名的一种方法

    在这个"用HashMap写的一个小Demo用来写游戏排名的一种方法"的示例中,我们很可能会看到如何利用HashMap来组织游戏分数并进行排序,以实现一个简单的游戏排名系统。 HashMap的特点在于它的键(key)是唯一的,每个键...

    在Java8与Java7中HashMap源码实现的对比

    总结,Java 8的HashMap源码实现通过引入红黑树优化了高负载情况下的性能,降低了哈希冲突的影响,而Java 7则相对简单,适合小规模数据存储。在实际应用中,应根据数据量和性能需求选择合适的版本。对于开发者来说,...

    HashMap与ConcurrentHashMap面试要点.pdf

    ### HashMap和ConcurrentHashMap...综上所述,面试时通常会针对HashMap和ConcurrentHashMap的实现原理、它们的差异、以及在并发环境下如何保证数据的一致性和线程安全进行提问。了解这些知识点有助于在面试中脱颖而出。

    用HashMap模拟一个网上购物车

    在本实验中,我们通过使用Java语言中的`HashMap`来模拟一个简单的网上购物车系统。该项目的主要目的是熟悉Java集合框架中的`HashMap`类,并了解如何利用它来存储、管理和检索数据。此外,我们还将学习如何使用`...

Global site tag (gtag.js) - Google Analytics