java——HashMap、Hashtable
Map:类似Python的字典
HashMap:
不支持线程的同步,即同一时刻不能有多个线程同时写HashMap;
最多只允许一条记录的键值为null,不允许多条记录的值为null
HashMap遍历所有键和值的两种方法:
第一种:
import java.util.*; public class exp{ public static void main(String[] args){ Map map = new HashMap(); map.put("1", "jack"); map.put("3", "rose"); map.put("2", "lucy"); System.out.println("1: " +map.get("1")); System.out.println("2: " +map.get("2")); System.out.println("3: " +map.get("3")); Set keySet = map.keySet();//获取所有的键 Iterator it = keySet.iterator(); while(it.hasNext()){ Object key = it.next(); Object value = map.get(key); System.out.println(key + ":" + value); } } }
第二种:
import java.util.*; public class exp{ public static void main(String[] args){ Map map = new HashMap(); map.put("1", "jack"); map.put("2", "kid"); map.put("3", "rosy"); Set entrySet = map.entrySet(); Iterator it = entrySet.iterator(); while(it.hasNext()){ // 每个Map.Entry代表了一个键值对 Map.Entry entry = (Map.Entry) it.next(); Object key = entry.getKey(); Object value = entry.getValue(); System.out.println(key + ":" + value); } } }
Hashtable:线程安全,存取元素时速度很慢,一般只用它的子类:Properties
Properties :存储字符串类型的键和值,一般用来存取应用的配置项。