import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
public class mapdemo {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
// Map 接口是基于哈希表实现的此实现提供所有可选的映射操作,并允许使用 null 值和 null 键
// 并且不同步
// HashMap() 默认初始容量(16)加载因子(0.75)
// 初始容量 和加载因子。容量 是哈希表中桶的数量,初始容量只是哈希表在创建时的容量。加载因子
// 是哈希表在其容量自动增加之前可以达到多满的一种尺度。当哈希表中的条目数超出了加载因子与当前容量的乘积时,则要对该哈希表进行 rehash
// 操作(即重建内部数据结构),从而哈希表将具有大约两倍的桶数。
Map<String, Integer> map = new HashMap<String, Integer>();
map.put("1", 1);// 返回值,当有数据存入map集合中时,数据的键已存在map集合里时,此数据将会覆盖原有的数据,并把原来的值作为返回值
map.put("2", 2);
map.put("3", 3);
// 取出map集合中的所有键
Set<String> keySet = map.keySet();
// 对keySet进行迭代
Iterator<String> iterator = keySet.iterator();
// 取出map中的值
while (iterator.hasNext()) {
String key = iterator.next();// 取出键
System.out.print("key:->" + key + "::");
int value = map.get(key);// 通过键取出值
System.out.println("value:->" + value);
}
// 另一种遍历
Set<Entry<String, Integer>> entrySet = map.entrySet();
for (Entry<String, Integer> entry : entrySet) {
String key = entry.getKey();
int value = entry.getValue();
System.out.println("key=" + key + "::" + "value=" + value);
}
// 利用迭代器遍历
Iterator<Entry<String, Integer>> iterator2 = entrySet.iterator();
while (iterator2.hasNext()) {
Entry<String, Integer> entry = iterator2.next();
String key = entry.getKey();
int value = entry.getValue();
System.out.println("key=" + key + "::" + "value=" + value);
}
}
}
|
|