谁用个简单例子讲讲java 的hashmap,通俗点讲,别用那些技术语言,那些不懂,只想知道那个理儿~

要做图书管理系统,那块用到了?

hashmap是一个存放数据的容器。数组也是一种容器,通过数据存取数据是通过数字下标来实现的。但开发的时候,用数字下标来取数据很不方便,冷不丁的谁知道第一个数据和第N个数据是什么东东?
所以,用一个有意义的词来代替下标,就会使数据更容易理解。例如你说的图书管理系统,一本书有出版社、作者、简介、字数、……等很多信息构成的数据,用ISBN号做这个数据的名字的话,就比用一个无意义的数字序号方便的多。在这里数据的名字称为键值(KEY),数据则被称为值(value)。
这种例用键值对(一对key,value)的形式存取数据的容器被称为Map。在Map中查找数据是通过key来进行的。
学过计算机编程的一定学过排序,通常学习的时候都是通过数组的排序来学习的,都应该知道数据量越大排序的时间越长。Hashmap就是一种加快了key的排序查找过程的容器。
可以这么认为:Hashmap对每个key取HASH值,然后把这个数据放到该HASH值的对应数组(或链表)中。这样,就用多个数组代替了一个数组,查找时先找到Key的HASH值对应的数据,然后在这个数组中查找这个KEY对应数据。最理想的情况下,每个KEY值的hash值都不一样,这种情况下查找数据是最高效的。最差的情况是每个key的HASH值都一样,这种情况就退化成了线性表,效率是最低的。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-06-25
map就好比你去银行存贵重物品(value),把对象放进去,银行给你一个钥匙或者凭条(key)。
存的过程就是set的过程set(key,value),取的过程就是get的过程,获得一个对象(贵重物品),这个对象是一个Object,用的时候需要转型成String或者别的类,例如(String)map.get("aa");。
或者定义map的时候这么定义:HashMap<String> ma p= new HashMap<String>() ,这样取的时候map.get("aa")就能够直接取到一个String型。本回答被提问者采纳
第2个回答  2011-06-25
就是时候“aa” 和“bb”对应。 HashMap ma p= new HashMap() ; map. set("aa","bb").这样你就可以通过“aa”取出来“bb”了。就是那么简单。一个简单的映射关系追问

那个map.set("aa","bb") set是自带的功能?括号里面就是所说的key 和value?

追答

是的,对的。理解很正确!你可以网上搜索小例子,一看就知道了

第3个回答  2017-11-11
是put(key,value)
不是set(key,value)
第4个回答  2011-06-25
作为方法的参数么?
当然可以
注意 做为参数的不是类 而是一个类的某个实例
相似回答