java——map接口的使用

注释:
1.Map以key-value键值对的方式进行存储。
2.key是Set类型,唯一性;value是Collection类型,可不唯一。
3.Map多用于封装。
4.HashMap为其实现类。

常用功能:
1.添加删除元素

@Test
 public void test() {
  Map map=new HashMap();
  map.put(123,123);
  map.put(null,null);
  map.put("abc","abc");
  //HashMap():key用set存储,不可重复,value用collection存储,可以重复
  //如果key出现重复,会覆盖上一个记录
  map.put(new String("aaa"),"aaa");
  map.put(new String("aaa"),"bbb");
  //equals 方法比较,添加bbb,因为String类,重写了quals 方法,所以覆盖上一条
  map.put(new Student("张三"),"张三");
  map.put(new Student("张三"),"李四");
  //这里添加的是Student对象,这里比较的是地址,所以不会产生覆盖
  System.out.println(map);
  map.remove(123);
  //删除,根据键来查找进行删除
  System.out.println(map);
 }

添加使用的对象类省略…

2.遍历元素:获取key,value,key-value

 @Test
 public void test1() {
  Map map=new HashMap();
  map.put("1001","张三");
  map.put("1002","李四");
  map.put("1003","王五");
  map.put("1004","赵柳");
  //Set keySet()方法获取map里面的key,返回Set类型
  System.out.println("======获取key======");
  Set keys=map.keySet();//无序性
  
  for (Object s : keys) {
   //Object所有类型的父类
   System.out.println(s);
  }
  System.out.println("======获取value======");
   //values():返回map中所有的value值
  Collection  values=map.values();
  //返回Collection类型,Collection是list的父接口,若要返回list要进行强制类型转换
  for (Object value : values) {
   //Object所有类型
   System.out.println(value);
  }


  //要是使用一个遍历实现map循环,输出格式key--value
  System.out.println("======遍历map的第一种方式======");
  
  Set  set=map.keySet();
  //根据key获取map
  for (Object o : set) {
   //Object所有类型
   System.out.println(o+":"+map.get(o));
   //根据key获取value
  }
    
  System.out.println("======遍历map的第 二种方式======");
  //(Set)Entry=(Set)key+(Collection)value
  //键值对整个是Set类型
  //Collect提供共用的(父)接口,set是其子接口
  //entrySet():获取元素
  Set  set1=map.entrySet();
  //根据key获取map
  for (Object o : set1) {//o代表每一个entry
   //把o转成entry,因为object没有get方法,必须强制转换
   Entry entry=(Entry)o;
   System.out.println(entry.getKey()+":"+entry.getValue());
  }
  
 }

3.map泛型的使用

@Test
 //使用map泛型来限制集合的类型,<>:保证数据安全性(若添加的不符合则出错)。
 public void test2(){
  
  Map<String, Integer> map=new HashMap<String, Integer>();
  //集合中只能包含对象,没有类型,所以使用包装类
  map.put("1001", 1);
  map.put("1002", 2);
  map.put("1003", 3);
  map.put("1004", 4);
  Set<Entry<String, Integer>>set=map.entrySet();
  for (Entry<String, Integer> entry : set) {
   System.out.println(entry.getKey()+":"+entry.getValue());
   
  }
  }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值