Map对象的定义声明、取值及理解
1、例:如下面2个Map 的定义
//存储终端查询班次和时间的Map
publicstatic Map<String,List<BusFlight>> device_busFlight = newHashMap<String,List<BusFlight>>();
解释:声明了一个Map对象,而这个Map对象device_busFlight中键(key)必须是String类型,值(value)必须是List类型,并且这个List里面存放的必须是BusFlight类型;(其实BusFlight是个类,意思说List里面要存放BusFlight这个类信息或说对象信息)
public static Map<String,Date> device_time =new HashMap<String,Date>();
Map<String,List<String>>map = new HashMap<String,List<String>>();是什么意思,什么作用
答:就是声明了一个Map对象,而这个Map对象中键(key)必须是String类型,值(value)必须是List类型,并且这个List里面存放的必须都是String类型(其实String是个类,要习惯理解String是个类,意思说List里面要存放String这个类信息或说对象信息)
例:Map<String, List> map=newHashMap<String,List>()
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=newHashMap<String,List>(),
List就是一个数据列表 你现在而已理解成 一个名字的列表List<String> list = newLinkedList<String>();
list.add("张三");
list.add("李四");
list.add("王五");
然后 我们假设S301是个大学宿舍 能住很多人
list就是名字列表map.put("S301",list);
那样的话 就能储存S301所有住户的名字了同样 可以保存 所有宿舍楼的信息
map.put("S302",list1);
map.put("S303",list2);
要是的话 类似下面 直接根据key 取value 就行了:
HashMap<String, String> hashmap = new HashMap<String , String>(); hashmap.put("1", "aa"); hashmap.put("2", "bb"); String xx = hashmap.get("1");
····································································································································
Map<String, byte[]> macRequest = new HashMap<String,byte[]>();//mac要素
private Map<String, String>seat_barCode = new HashMap<String, String>();
菜鸟求教,Map<int,int[]> map = new HashMap<int,int[]>();报错,求解
泛型内不能包装基本数据类型,只能是封装后的基本数据类型的对象。譬如说String,Integer,Charater,Byte..等等
改成Map<Integer, int[]> map = newHashMap<Integer,int[]>();