Java学习笔记 Map

package cn.itcast.demo;

import java.util.HashMap;
import java.util.Map;

/*Map集合:
* 1.Map集合是一个双列集合,一个元素包含两个值
* 2.Map集合中的元素,key与value的数据类型既可以相同也可以不同
* 3.key不允许重复,而value可以
* 4.Map集合中,key与value一一对应
*
*
- public V put(K key, V value):  把指定的键与指定的值添加到Map集合中。
- public V remove(Object key): 把指定的键 所对应的键值对元素 在Map集合中删除,返回被删除元素的值。
- public V get(Object key) 根据指定的键,在Map集合中获取对应的值。
- boolean containsKey(Object key) 判断集合中是否包含指定的键。
- public Set<K> keySet(): 获取Map集合中所有的键,存储到Set集合中。
- public Set<Map.Entry<K,V>> entrySet(): 获取到Map集合中所有的键值对对象的集合(Set集合)。

* */
public class Demo01Map {
    public static void main(String[] args) {
        show01();
        show02();
        show03();
    }

    private static void show03() {
        Map<String,Integer>map = new HashMap<>();
        map.put("zly",168);
        map.put("yy",165);
        map.put("lzl",178);
//        get方法
        Integer v1 = map.get("yy");
        Integer v2 = map.get("dlrb");//null
        System.out.println(v1+" "+v2);
    }

    private static void show02() {
        Map<String,Integer>map = new HashMap<>();
        map.put("zly",168);
        map.put("yy",165);
        map.put("lzl",178);
        System.out.println(map);
        //        remove方法
        map.remove("lzl");
        System.out.println(map);
    }

    private static void show01() {
        Map<String,String>map = new HashMap<>();
        String v1 = map.put("李晨","范冰冰1");
        String v2 = map.put("李晨","范冰冰2");
//        System.out.println(v1);//null
//        System.out.println(v2);//范冰冰1,返回被换掉的
//        System.out.println(map);
        map.put("杨过","小龙女");
        map.put("尹志平","小龙女");
        map.put("lpw","zhc");

        
    }
}

遍历

package cn.itcast.demo;

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

public class Demo02KeySet {
    public static void main(String[] args) {
        Map<String,Integer> map = new HashMap<>();
        map.put("zly",168);
        map.put("yy",165);
        map.put("lzl",178);
        Set<String>set = map.keySet();//取出Map集合中的每一个Key值
        Iterator<String> it = set.iterator();
        while (it.hasNext()){
            String key = it.next();
            Integer value = map.get(key);
            System.out.println(value);

        }
        System.out.println("=================");
        for(String key:map.keySet()){

            Integer value = map.get(key);
            System.out.println(value);
        }
    }
}

package cn.itcast.demo;

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

public class Demo03EntrySet {
    public static void main(String[] args) {
        Map<String,Integer> map = new HashMap<>();
        map.put("zly",168);
        map.put("yy",165);
        map.put("lzl",178);
        Set<Map.Entry<String,Integer>>set = map.entrySet();
        Iterator<Map.Entry<String, Integer>> it = set.iterator();
        while(it.hasNext()){
            Map.Entry<String, Integer> entry = it.next();
            String key = entry.getKey();
            Integer value = entry.getValue();
            System.out.println(key+" = "+value);

        }
        System.out.println("============");
        for(Map.Entry<String,Integer> entry : set){
            String key = entry.getKey();
            Integer value = entry.getValue();
            System.out.println(key+" = "+value);
        }

    }
}

Hashtable

package cn.itcast.demo;

import java.util.HashMap;
import java.util.Hashtable;

/*HashTable*/
public class Demo04Hashtable {
    public static void main(String[] args) {
        HashMap<String,String>map = new HashMap<>();
        map.put(null,"a");
        map.put("b",null);
        map.put(null,null);
        System.out.println(map);//{b=null, null=null}
        Hashtable<String,String>table = new Hashtable<>();
        //table.put(null,"a");//不允空值 空键
    }


}

案例

package cn.itcast.demo;

import java.util.HashMap;
import java.util.Scanner;

/*计算一个字符串中每个字符出现次数。*/
public class Demo05MapTest {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("输入字符串");
        String str = sc.next();

        HashMap<Character,Integer>map =new HashMap<>();
        for(char c:str.toCharArray()){
            if(map.containsKey(c)){
                Integer value = map.get(c);
                value++;
                map.put(c,value);
            }
            else{
                map.put(c,1);
            }
        }
        for(Character key:map.keySet()){
            Integer value = map.get(key);
            System.out.println(key+"="+value);
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值