Java新手:HashMap集合

Map接口

  1. Collection接口和Map接口的存储数据的形式不同:
    1、Collection中的集合叫单列集合,元素是孤立存在的(单身),向集合中存储元素采用一个个元素的方式存储。
    2、Map中的集合叫双列集合,元素是成对出现的,每个元素有键和值两部分组成,通过键可以找对所对应的值。
    3、Map中的集合不能包含重复的键,值可以重复,每个键只能对应一个值。
  2. Map的常用功能:
    1、 V put(K key, V value) :以键=值的方式存入Map集合
    2、 V get(Object key) :根据键获取值
    3、 int size():返回Map中键值对的个数
    4、 boolean containsKey(Object key) :判断Map集合中是否包含键为key的键值对
    5、boolean containsValue(Object value) :判断Map集合中是否包含值为value键值对
    6、boolean isEmpty():判断Map集合中是否没有任何键值对
    7、void clear():清空Map集合中所有的键值对
    8、V remove(Object key) :根据键值删除Map中键值对
    9、Set<Map.Entry<K,V>> entrySet():将每个键值对封装到一个个Entry对象中,再把所有Entry的对象封装到Set集合中返回
    10、Set keySet() :将Map中所有的键装到Set集合中返回
    11、Collection values() :返回集合中所有的value的值的集合
public class MapDemo {
	public static void main(String[] args) {
		Map<String,String> map =new HashMap<String,String>();
		//
		map.put("001", "张三");
		map.put("002", "李四");
		map.put("003", "王五");
		//
		System.out.println("map.containsKey('002')="+map.containsKey("002"));
		System.out.println("map.containsKey('005')="+map.containsKey("005"));
		//
		System.out.println("map.isEmpty()="+map.isEmpty());
		//
		System.out.println("map.size()="+map.size());
		//
		System.out.println("map.get('001')="+map.get("001"));
		System.out.println("map.get('005')="+map.get("005"));
		//
		System.out.println("王五是否存在="+map.containsValue("王五"));
		System.out.println("赵六是否存在="+map.containsKey("赵六"));
		//
		System.out.println("删除001="+map.remove("001"));
		System.out.println("删除005="+map.remove("005"));
		//
		System.out.println("map="+map);
		//
		map.clear();
		System.out.println("map=="+map);
	}
}

输出结果:

map.containsKey('002')=true
map.containsKey('005')=false
map.isEmpty()=false
map.size()=3
map.get('001')=张三
map.get('005')=null
王五是否存在=true
赵六是否存在=false
删除001=张三
删除005=null
map={002=李四, 003=王五}
map=={}

例子二:

public static void main(String[] args) {
		Map<String,String> map =new HashMap<String,String>();
		map.put("001", "张三");
		map.put("002", "李四");
		map.put("003", "李四");
		//第一种遍历方法
		Set<String> keys = map.keySet();
		for(String key:keys){
			String value = map.get(key);
			System.out.println(key+"-----"+value);		
		}
		//验证map中值可以相同,但是key不可以相同
		//这里Collection不能写list,这是写的一个内部类Values,继承了AbstractCollection,没有索引,不能强制转换成list
		Collection<String> values = map.values();
		for(String value:values){
			System.out.println(value);
		}
		//第二种遍历方法
		Set<Map.Entry<String, String>> set =map.entrySet();
		for(Map.Entry<String, String> entry:set){
			String key =entry.getKey();
			String value = entry.getValue();
			System.out.println(key+"-----"+value);
		}
	}

输出结果:

001-----张三
002-----李四
003-----李四
张三
李四
李四
001-----张三
002-----李四
003-----李四

猜你喜欢

转载自blog.csdn.net/w_e_i_1201/article/details/84076481