Map结构体系
Map中数据存储的特点
1.Map中存储的是key-value键值对
2.Map中的所有的key是由Set存放的,所有的key彼此不相同
如果key是我们的自定义对象,那么要求自定义类要重写hashCode()和equals()方法
3.Map中所有的value是由Collection存放的
如果values是我们自定义类的对象,那么要求自定义类重写equals()
4.一个key-value键值对构成一个Entry
所有的Entry使用Set存放
Entry的存储位置就是由Entry中key的存储位置决定的
Map常用方法
Object put(Object key,Objecy value) 添加,若map已存在已有的key,更新的value会替换旧的value
Object remove(Object key) 删除
void putAll(Map t) 将形参map中的所有的key-value,添加到当前的map中
void clear() 清空操作
Map遍历的方法
Set keySet( )
Collection value( )
Set entrySet( )
/** * Map的遍历方法 */ @Test public void test2() { HashMap map = new HashMap(); map.put("userName", "Tom"); map.put("pwd", "abc123"); map.put("age", 23); //1.遍历所有的key集 Set keySet = map.keySet(); Iterator iterator = keySet.iterator(); while (iterator.hasNext()) { System.out.println(iterator.next()); } //2.遍历所有的value集 Collection values = map.values(); for (Object o : values) { System.out.println(o); } //3.遍历key-value的键值对 //3.1 Set keySet1 = map.keySet(); for (Object o : keySet1) { System.out.println(o + "---->" + map.get(o)); } //3.2 Set entrySet = map.entrySet(); for (Object o : entrySet) { System.out.println(o); } }