📄 map.txt
字号:
类似数学中的函数 比如 y=f(x) 根据x就能确定y 的值 在map里就是
map.put("x","y");
map.get("x") == y
其实就是一一映射关系
key------value
每个key对应一个value 知道了key也就知道了value
演示java中Map容器的常用功能:
import java.util.*;
.............
Map person_message = new HashMap();
person_message.put("sid","123");
person_message.put("sname","lt");
person_message.put("sphone","345");
//提取get(key)
System.out.println(person_message.get("sphone")); // 输出"345"
//构建map集合中所有key对象的集合
Set set = person_message.keySet();
Iterator it = set.iterator();
while(it.hasNext())
System.out.print(it.next()+" "); // 输出"sid sname sphone"
//构建map集合中所有values值的集合
Collection coll = person_message.values();
Iterator it = coll.iterator();
while(it.hasNext())
System.out.print(it.next()+" "); // 输出"123 lt 345"
1.声明一个map: Map map = new HashMap();
2.向map中放值,注意:map是key-value的形式存放的.如:
map.put("sa","dd");
3.从map中取值:String str = map.get("sa").toString();结果是:str = "dd";
4.遍历一个map,从中取得key 和value
JDK1.5
Map m = new HashMap();
for (Object o : map.keySet()) {
map.get(o);
}
JDK1.4
Map map = new HashMap() ;
Iterator it = map.entrySet().iterator() ;
while (it.hasNext())
{
Map.Entry entry = (Map.Entry) it.next() ;
Object key = entry.getKey() ;
Object value = entry.getValue() ;
}
也就是说 Hashtable存储的每一个对象(称为值) 都需要有另外一个对象(称为关键字)来和他关联
作为关键字的类必须覆盖Object.hashCode()方法和Object.equals()方法。
HashMap与HashTable的比较:
一:历史原因,Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现。
二:同步性,Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的。
三:值,只有HashMap可以让你将空值作为一个表的条目的key或value。
Hashtable和HashMap的区别:
1.Hashtable是Dictionary的子类,HashMap是Map接口的一个实现类;
2.Hashtable中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的。即是说,在多线程应用程序中,不用专门的操作就安全地可以使用Hashtable了;而对于HashMap,则需要额外的同步机制。但HashMap的同步问题可通过Collections的一个静态方法得到解决:
Map Collections.synchronizedMap(Map m)
这个方法返回一个同步的Map,这个Map封装了底层的HashMap的所有方法,使得底层的HashMap即使是在多线程的环境中也是安全的。
3.在HashMap中,null可以作为键,这样的键只有一个;可以有一个或多个键所对应的值为null。当get()方法返回null值时,即可以表示HashMap中没有该键,也可以表示该键所对应的值为null。因此,在HashMap中不能由get()方法来判断HashMap中是否存在某个键,而应该用containsKey()方法来判断。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -