集合类Map的用法

import java.util.*;

public class MyMapDemo{

public static void main(String[] args){

Map<String,String> map=new HashMap<String,String>();//[键-值]对里面可以放置的的类型为Object

map.put("用户名称","张三丰");
map.put("密码","000000");

map.put("学号","123456");  //编译自动将值类型转换成对应的包装类型Integer:这种行为称为装箱操作
map.put("婚否","false");   //编译自动将值类型转换成对应的包装类型Booblean:这种行为称为装箱操作

Object o=map.get("学号");  //取到的值的类型是Object,当然也可以转换成任何类型
if(o instanceof Integer){
Integer i=(Integer)o;     //这里转换成的就是实际的子类型
int id=i;                 //可以被编译器自动转换int id=i.intValue();即调用子类型对象的方法,这种行为被称作拆箱操作
}
o=map.get("婚否");         //取到的值也是Object,同上
if(o instanceof Boolean){
Boolean b=(Boolean)o;
boolean status=b
}

//访问所有键-值对
//下面是使用Set接口访问
Set<String> keySet=map.keySet();      //获取Map对象的所有键集
Iterator<String> it=keySet.iterator();
while(it.hasNext()){
String key=it.next();                 //取到下一个键对象
String value=map.get(key);            //再根据键对象取到关联的值对象
System.out.println(key+"的值为"+value);//打印出来键的值
}
//下面是使用Entry接口访问
Set<Map.Entry<String,String>> entrySet=map.entrySet();//获取Map对象的所有的键值对
Iterator<Map.Entry<String,String>> its=entrySet.iterator();
while(its.hasNext()){
Map.Entry<String,String> entry=its.next();            //转换成Map.Entry类型的对象
String key=entry.getKey();                            //调用Map.Entry类型的对象的取键值
String value=entry.getValue();                        //调用Map.Entry类型的对象的取值方法
System.out.println(key+"的值为"+value);                //打印出来键的值 
}

//如何只获取关联的值集
Collection c=map.values();
// for( it=c.iterator();it.hasNext();){
// Object value=it.next();
// System.out.println(value);
// }
// System.out.println();
for(Object ob:c){
System.out.println(ob);
}

//如果提供一个不存在的键,则取到的就是空
o=map.get("用户名");
if(null==o){
System.out.println("不存在用户名这个键值条目");
}
//注:如果在加入的时候,提供了相同的键,则后提供的键-值将冲掉原来的键值条目
map.put("学号","54321");
System.out.println(map);
//如何判断在集合石否存在某个键或者某个值
if(!map.containsKey("用户名")){
System.out.println("不存在用户名这个键值条目");
}
}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值