Map 与 HashMap 的区别

    这样是不对的 Map map =new Map(); Map是个接口不能实例化                                

                                   Collection

                                        /       \
                                       /         \
                                      /           \
                                    Set            List(有顺序,可以重复)
                                  /    \                   \
                                /       |                   \
                               /      HashSet                \
                              /   (不重复,没有特定顺序)       / \
                             /                              /   \
                           SortedSet(有顺序)         LinkList ArrayList
                            /
                           /
                        TreeSet(不重复,有顺序,类型一样)       

Map--->HashMap
Map--->TreeMap
Map--->SortedMap

1:Map 是一个接口,HashMap 是一个类,也就是HashMap实现了Map的所有方法。

HashMap你可以理解成是一对对数据的集合我暂时把List  改成String  你方便理解
Map<String, String> map=new HashMap<String,String>(),

map.put(key,value);  
key可以理解成房子  value 可以理解成 住户名(这儿假设一个大学宿舍只能住一个人)
map.put("S301","张三");

那就是说S301 这个房间   只有 张三这么个住户

 map.put("S301","张三");
map.put("S301","李四");

那只保留map.put("S301","李四");  因为只能住一个  张三被赶出来了 

Productlist.get(key);  就是根据房间号 获取对应的住户名

 然后执行 String sss=map.get("S301");
以后 sss="李四"

实际上 key 和value 可以是任何对象 这儿只是拿string 举例 现在改回来Map<String, List> map=new HashMap<String,List>(),
List就是一个数据列表  你现在而已理解成 一个名字的列表List<String> list = new LinkedList<String>();
list.add("张三");
list.add("李四");
list.add("王五");
然后 我们假设S301是个大学宿舍 能住很多人  
list就是名字列表map.put("S301",list);
那样的话  就能储存S301所有住户的名字了同样  可以保存 所有宿舍楼的信息
map.put("S302",list1);
map.put("S303",list2);
map(映像)接口
            /       \
           /          \
     HashMap实现类      HashTable实现类
HashMap,HashTable都是map的实现类。都是以键值对的形式存储数据。HashiMap没有实现线程安全允许null的键值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值