Map采用键(Key)--值(Value)对的方法,Key是不允许重复的,Value是允许重复的。Map中存放的对象是一对一对的,它的key可以看作Set集合,因此我们查找Map元素时,必须要通过迭代器来查找它的key值,它也是接口,只能由实现子类来实现,常用的有HashMap,HashTable
HashTable的应用非常广泛,HashMap是新框架中用来代替HashTable的类,也就是说建议使用HashMap,不要使用HashTable。可能你觉得HashTable很好用,为什么不用呢?这里简单分析他们的区别。
1.HashTable的方法是同步的,HashMap未经同步,所以在多线程场合要手动同步HashMap这个区别就像Vector和ArrayList一样。
2.HashTable不允许null值(key和value都不可以),HashMap允许null值(key和value都可以)。
3.HashTable有一个contains(Object value),功能和containsValue(Object value)功能一样。
4.HashTable使用Enumeration,HashMap使用Iterator。
Map循环遍历的几种方法:
1.通过Map.keySet()遍历key和value(有一个二次取值的过程,所以并不推荐 )
public static void main(String[] args) {
Map<String,Object> map=new HashMap<String,Object>();
map.put("a", "a");
map.put("b", "b");
map.put("1", "1");
for(String key:map.keySet()){
System.out.println(key+":"+map.get(key));
}
}
2.通过Map.entrySet()遍历key和value
public static void main(String[] args) {
Map<String,Object> map=new HashMap<String,Object>();
map.put("a", "a");
map.put("b", "b");
map.put("1", "1");
Set<Entry<String,Object>> set=map.entrySet();
for(Entry<String,Object> entry:set){
System.out.println(entry.getKey()+":"+entry.getValue());
}
}
3.通过Map.entrySet()使用iterator()遍历key和value
public static void main(String[] args) {
Map<String,Object> map=new HashMap<String,Object>();
map.put("a", "a");
map.put("b", "b");
map.put("1", "1");
Iterator<Entry<String,Object>> iterator=map.entrySet().iterator();
while(iterator.hasNext()){
Entry<String,Object> entry=iterator.next();
System.out.println(entry.getKey()+":"+entry.getValue());
}
}
分享到:
相关推荐
java集合类list-set-map.doc
JSP应用开发-Java集合类-Map接口.pptx
如何保证该集合的元素唯一性呢? 是通过对象的hashCode和equals方法来完成对象唯一性的。 如果对象的hashCode值不同,那么不用判断equals方法,就直接存储到哈希表中。 如果对象的hashCode值相同,那么要再次...
java集合体系结构完结篇-Map集合
Java集合类List-Set-Map的区别和联系.doc
Java-Java集合体系-List-Set 内容概要:总结了Java集体体系中的三大集合接口LIst、Set、Map,本文对LIst、Set做出了详细、简要的分析,没有冗长的文章,全是干货,下载即用,其中涉及了其底层实现,面试题必备。 ...
此java类实现了对数据表的分类递归树的实现,为本人倾力之作,后期,会发布js版,敬请期待!
易语言面相对象编程仿java集合 list, 以及map工具类 模块ec源码
java集合中map的三种遍历有详细的代码。
HashSet 的 add() 方法添加集合元素时实际上转变为调用 HashMap 的 put()方法来添加 key-value 对。HashMap 的 put() 方法.hashCode() 判断返回值相等,如果返回值相等则再通过 equals 比较也返回 true,最终认为key...
java 集合类的详细介绍 set map list 以及iterator entry 的介绍
HashMap是一种常用的哈希表实现,用于存储键值对。它实现了Map接口,并且使用键的哈希值来快速定位和访问值。
【IT十八掌徐培成】Java基础第11天-04.Map集合-集合整理.zip
LinkedHashMap是Java中的一种特殊类型的HashMap,它保留了插入顺序,即按照元素插入的先后顺序进行排序
TreeMap是一种基于红黑树实现的有序映射(SortedMap)。它实现了NavigableMap接口,可以按照键的自然顺序或自定义排序规则对键值对进行排序和访问。
Java源码分析:集合-容器.pdf
java视屏\5.WEB SERVER\2.HTTP请求解析(下) 、 集合操作-Map.mp4
【IT十八掌徐培成】Java基础第11天-02.Map集合-hash原理.zip