java中Map的简单运用

package Map;

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

public class Map2 {
    public static void main(String[] args){
        Map<String,Person> map=new HashMap<String,Person>();
        map.put("九纹龙", new Person("史进"));
        map.put("混江龙", new Person("李进"));
        map.put("入云龙", new Person("公孙胜"));
        map.put("小旋风", new Person("柴进"));
        map.put("青面兽", new Person("杨志"));
        map.put("豹子头", new Person("林冲"));
        map.put("玉麒麟", new Person("卢俊义"));
        
        map.put("狐狸精", new Person("小三儿"));
        map.put("小妖精", new Person("小三儿"));
        
        System.out.println(map.isEmpty());
        System.out.println(map.size());
        /**
         * 判断是否含有key健值
         */
        boolean flag=map.containsKey("妖精");
        System.out.println(flag);
        boolean flag1=map.containsKey("小妖精");
        System.out.println(flag1);
        /**
         * 获取map中的键集,因为key是无序不重复的,所以使用set
         */
        Set<String> key=map.keySet();
        System.out.println(key);
        
        Iterator<String> key1=key.iterator();
        while(key1.hasNext()){
            String key2=key1.next();
            Person p=map.get(key2);
            System.out.println(key2+"  "+p);
        }
        /**
         * 因为这里又是创建了一个新的对象
         * 此对象与存入map中的对象地址不相同,他们是两个不同的对象,所以返回false
         */
        
        boolean flag2=map.containsValue(new Person("小妖精"));
        System.out.println(flag2);
        /**
         * 获取map中的值集,此集合只能用Collection来接收返回值类型
         */
        Collection<Person> person=map.values();
        System.out.println(person);
        
        for(Person p:person){
            System.out.println(p);
        }
        /**
         * 获取map中的健值集
         */
        Set<Entry<String,Person>> q=map.entrySet();
        System.out.println(q);
        for(Entry<String,Person> e:q){
            System.out.println(e);
        }
        System.out.println("**************************************");
        /**
         * 在Map映射中不能够使用Interator迭代器功能,也不能使用for.....each循环
         */
        /*map.iterator();
        for(Entry<String,Person> e:map){
            System.out.println(e);
        }*/
    }
}
class Person{
    private String name;
    public Person(){
        
    }
    public Person(String name){
        this.name=name;
    }
    @Override
    public String toString() {
        return "Person [name=" + name + "]";
    }
   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值