Map map=new HashMap(); 为什么是这样

Map是接口,hashMap是Map的一种实现。接口不能被实例化。 
Map map=new HashMap(); 就是将map实例化成一个hashMap。这样做的好处是调用者不需要知道map具体的实现,map接口与具体实现的映射Java帮你做了。打个比方,你是一个头头,手下有几个人:张三,李四等等。你需要手下做一件事情,你关心的是有没有人做,而不关心到底是谁去做,你只需要喊一声:“来人!”具体的是哪个人进来帮你做事无所谓。 
如果说这样写: HashMap map = new HashMap();就相当于你指定要张三做事:“来张三!” 
就是这样。

时间: 2024-10-04 12:49:39

Map map=new HashMap(); 为什么是这样的相关文章

Map实现之HashMap(结构及原理)(转)

java.util包中的集合类包含 Java 中某些最常用的类.最常用的集合类是 List 和 Map.List 的具体实现包括 ArrayList 和 Vector,它们是可变大小的列表,比较适合构建.存储和操作任何类型对象元素列表.List 适用于按数值索引访问元素的情形. Map 则提供了一个更通用的元素存储方法.Map 集合类用于存储元素对(称作“键”和“值”),其中每个键映射到一个值.从概念上而言,您可以将 List 看作是具有数值键的 Map.而实际上,除了 List 和 Map 都

多线程之Map:Hashtable HashMap 以及ConcurrentHashMap的线程安全问题

1.Map体系参考:http://java.chinaitlab.com/line/914247.htmlHashtable是JDK 5之前Map唯一线程安全的内置实现(Collections.synchronizedMap不算).Hashtable继承的是 Dictionary(Hashtable是其唯一公开的子类),并不继承AbstractMap或者HashMap.尽管Hashtable和 HashMap的结构非常类似,但是他们之间并没有多大联系.ConcurrentHashMap是Hash

Map map=new HashMap()

Map是接口,hashMap是Map的一种实现.接口不能被实例化.Map map=new HashMap(); 就是将map实例化成一个hashMap.这样做的好处是调用者不需要知道map具体的实现,map接口与具体实现的映射java帮你做了.打个比方,你是一个头头,手下有几个人:张三,李四等等.你需要手下做一件事情,你关心的是有没有人做,而不关心到底是谁去做,你只需要喊一声:"来人!"具体的是哪个人进来帮你做事无所谓.如果说这样写: HashMap map = new HashMap

org.apache.ibatis.builder.IncompleteElementException: Could not find result map java.util.HashMap

这样的配置有问题吗? <select id="getFreightCollectManagementList" resultMap="java.util.HashMap" parameterType="com.rms.providers.dto.AccountingPayableDto"> 有的, 出现mybatis 错误: 2018-08-13 15:28:35 -13867 [http-nio-80-exec-10] DEBUG

logic标签遍历map map中存放的是 List集合对象

    JAVA代码     Map map=new map();      map.put("bizDevConsumMap",List集合对象);     request.setAttribute("bizDevConsumMap", bizDevConsumMap);               jsp页面代码     <logic:iterate id="n" name="bizDevConsumMap">

Java基础知识强化之集合框架笔记57:Map集合之HashMap集合(HashMap&lt;Student,String&gt;)的案例

1. HashMap集合(HashMap<Student,String>)的案例 HashMap<Student,String>键:Student      要求:如果两个对象的成员变量值都相同,则为同一个对象.值:String HashMap是最常用的Map集合,它的键值对在存储时要根据键的哈希码来确定值放在哪里. HashMap 中作为键的对象必须重写Object的hashCode()方法和equals()方法 2. 代码示例: (1)Student.java,如下: 1 pa

Map接口,hashMap类,TreeMap类,WeakHashMap。

Collection接口之前接触过,每次保存的对象是一个对象,但是在map中保存的是一对对象,是以key->value形式保存的. 定义: public interface Map<K,V> Map.Entry接口. 定义: public static interface Map.Entry<K,V> 常用方法: Map与Map.Entry关系: 常用子类: 以HashMap为例说明基本操作方法:put()增加内容,get()取出内容. 根据键取出内容. map.get(&q

Collections工具类、Map集合、HashMap、Hashtable(十八)

1.Map集合概述和特点 * A:Map接口概述 * 去重复, * 查看API可以知道, * 将键映射到值的对象, * 一个映射不能包含重复的键, * 每个键最多只能映射到一个值.* B:Map接口和Collection接口的不同 * Map是双列的,Collection是单列的. * Map的键唯一,Collection的子体系Set是唯一的,即不重复. * Map集合的数据结构值针对键有效,跟值无关;Collection集合的数据结构是针对元素有效. 2.Map集合的功能概述 * a:添加功

【Java总结-集合】Map接口,HashMap等

Map接口 继承图: Map常用方法 添加,删除操作 Object put(Object key, Object value) Object remove(Object key) void putAll(Map m) void clear 元视图操作的方法 Set keySet() Collection values() Set entrySet() 元素查询操作 Object get(Object key) boolean containsKey(Object key) boolean con