map集合中都是键值对
Map<K,V> ms = new HashMap<K,V>();
HashMap与HashTable都是Map的实体类,两个用法都相同(相当于ArrayList与Vector )
HashMap与HashTable的区别:
HashTable 对于线程较为安全,但是效率较低
HashMap 对于线程不安全,但是效率较高
键值对遍历:
Map<String, String> ms=new HashMap<String, String>();
ms.put(“JP”, “Japan”);
ms.put(“CN”, “China”);
ms.put(“DE”, “Germany”);
ms.put(“FR”, “France”);
ms.put(“JP”, “JapanGuizi”);
//调用entry方法直接获取键值对
Set<Entry<String, String>> e = ms.entrySet();
for (Entry<String, String> ei : e) {
System.out.println(ei);
}
代码输出:
DE=Germany
JP=JapanGuizi
CN=China
FR=France
哈希表:
哈希表由数组加链表组成,hash运算是由哈希吗%数组长度,其初始化大小为16
TreeMap:
TreeMap<K,V> ts=new TreeMap<K,V>();当然我也测试过HashMap同样也是按键排序的