Map接口

package com.neu.map;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

import com.neu.pojo.Student;

/**
 * 
 * @author LNB
 *说明:Map中方法的使用
 */
public class Map_Demo01 {
	private static Map<String, Student> map=new HashMap<>();
	private static Map map1=new HashMap<>();
	/*
	 * 添加数据
	 * put(String key,Student value):实例化时指定泛型
	 * put(Object key,Object value):实例化时没有泛型,所有参数都为Object类型,意味着key与value可以说任意理想的参数值
	 */	
	/*
	 * Map添加数据过程中如果key出现重复内容,以最后一次value进行覆盖
	 * put返回值为null原因:因为将key和value放到Map中,由于key在集合中不存在,所以key在集合中没有对应的value,返回为null
	 */
	public static void addKeyValue() {
		Student stu1=map.put("stu_001", new Student(1,"小明",20,"大连"));
		System.out.println("stu1:"+stu1);
		Student stu2=map.put("stu_002", new Student(1,"小明",20,"大连"));
		System.out.println("stu2:"+stu2);
		map.put(null, null);
		map.put("stu_003", null);
		Student stu3=map.put("stu_003", new Student(3,"小3",20,"大连"));
		System.out.println("stu3:"+stu3);
		Student stu4=map.put("stu_003", new Student(3,"小3",18,"大连"));
		System.out.println("stu4:"+stu4);
		System.out.println("添加中map元素:"+map);
	}
	/*
	 * 删除功能
	 * remove(Object key):根据指定的key删除对应value,并返回value
	 * remove(Object key,Object value):根据指定的key与value完成元素的删除
	 * 删除成功返回true,否则返回false
	 */
	public static void deleteElement() {
		Student stu=map.remove("stu_001");
		System.out.println("删除stu1的key: "+stu);
		System.out.println("删除后的Map:"+map);
		boolean flag=map.remove("stu_002",new Student(1,"小明",20,"大连") );
		System.out.println("删除结果:"+flag+"  ,map:  "+map);
	}
	/*
	 * 判断功能
	 * isEmpty():返回类型boolean,如果是空返回true,否则返回false
	 * containsKey(Object key):返回类型boolean,判断指定的key是否在集合中,如果存在返回true,赋值返回false
	 * containsValue(Object value):返回类型为boolean,判断指定的value是否在集合中,如果存在返回true,赋否则返回flase
	 */
	public static void panDuan() {
		boolean flag=map.isEmpty();
		System.out.println("是否为空:"+flag);
		boolean flag1=map.containsKey("stu_002");
		System.out.println("key是否存在:"+flag1);
		boolean flag2=map.containsKey("stu_003");
		System.out.println("key是否存在:"+flag2);
		boolean flag3=map.containsValue(new Student(1,"小明",20,"大连"));
		System.out.println("判断value是否存在:"+flag3);
		boolean flag4=map.containsValue(null);
		System.out.println("判断value是否存在:"+flag4);	
	}
	/*
	 * 获取方法
	 * get(Object key):返回类型为Object,根据指定的key获取对应的value
	 */
	public static void getElement() {
		Student stu=map.get("stu_001");
		System.out.println("获取stu:"+stu);
	}
	/*
	 * 通过遍历方式获取value值
	 * keySet():返回java.util.Set,该集合中存放了Map中所有的key
	 */
	public static void getElementsByIterator() {
		//需要先将Map转为单列
		//通过keySet方法生成Set对象
		Set<String> set= map.keySet();
		String keys="";
		Student values=null;
		//通过Set对象生成Iterator对象
		for(Iterator<String> ite=set.iterator();ite.hasNext();) {
			keys=ite.next();
		    values=map.get(keys);
		    System.out.println("keys:"+keys+",values:"+values);
		}
	}
	/*
	 * 通过entrySet()进行遍历
	 * Entry<Object key,Object value>:该实体是专门用来完成map集合键值对的封装
	 * 通常会设置在Set集合中
	 */
	public static void getElementsByEntrySet() {
		Set<Entry<String, Student>> set= map.entrySet();
		for(Iterator<Entry<String, Student>> ite=set.iterator();ite.hasNext();) {
			Entry<String, Student> entry=ite.next();
			String key=entry.getKey();
			Student stu=entry.getValue();
			System.out.println();
		}
	}
	
	public static void main(String[] args) {
		addKeyValue();
		deleteElement();
		panDuan();
		getElement();
		getElementsByIterator();
		getElementsByEntrySet();
	}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值