Java集合框架之map。
Map的主要实现类有HashMap,LinkedHashMap,TreeMap,等等。具体可参阅API文档。
其中HashMap是无序排序。
LinkedHashMap是自然排序,初次映射。
TreeMap键不可以为null,但是值可以null,TreeMap键的数据类型要一致。
Hashtable键与值都不可以为null。
下面来一段代码感受一下。
Map map = newHashMap(); map.put(1, "a"); map.put(2, "b"); map.put(3, "c"); map.put(null, null); map.put(null, "d"); //HashMap键与值都可以为null //将键值做一个集合
在Map里面找到一个get方法,里面是键值的Object集合,map.keySet()方法将返回键值的集合。
Set set = map.keySet();//将键值作为集合 Iterator it = set.iterator();//构造一个迭代器 while(it.hasNext()){//判断是否有元素,返回为boolean型 System.out.println(map.get(it.next()));//键若相同会值被覆盖 }
输出结果为: d
a
b
c
键被转化为Set集合时,null因为相同,所以Set内,第一个null对象被第二个null对象覆盖,HashMap为无序。
HashMap,LinkedHashMap,TreeMap等等Map实现类同理。