白小白的日志

一个菜鸡的心酸之路....

导航

16.Map集合

通过一个点可以找到一个具体的位置 映射,map集合也是存数据的

双边队列是一个接口:Interface Map<K,V>

k: key 键

v: value 值

1集合中常用的方法

增:
1.V put(K key, V vlaue);添加键值对的数据到map集合中
    //
package com.homework;

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

public class Demo7 {
    public static void main(String[] args) {
        Map <Integer , String> map = new HashMap<>();
        //重复的被后面覆盖
        map.put(1 , "小");
        map.put(2 , "标");
        map.put(2 , "小x标");
        map.put(8 , "小a标");
        map.put(3 , "小v标");
        map.put(7 , "小g标");
        System.out.println(map);
    }
}
2.void putAll(Map<? extends K> k, Map<? extends V> v);将一个map集合存放到另外一个map集合中
    package com.homework;

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

public class Demo7 {
    public static void main(String[] args) {
        Map <Integer , String> map = new HashMap<>();
        //重复的被后面覆盖
        map.put(1 , "小");
        map.put(2 , "标");
        map.put(2 , "小x标");
        map.put(8 , "小a标");
        map.put(3 , "小v标");
        map.put(7 , "小g标");
        Map <Integer , String> map1 = new HashMap<>();
        //重复的被后面覆盖
        map1.put(9 , "小");
        map1.put(52 , "标");
        map1.put(36 , "小x标");
        map1.put(5 , "小a标");
        map1.put(3 , "小v标");
        map1.put(6 , "小g标");
        map.putAll(map1);
        System.out.println(map);
    }
}

        
删:
3.V remove (K key);通过键删除键值对的数据,返回值是值
         System.out.println(map.remove(1));

改:
    
4.V  put(K key V value);当键值存在的时候,会将value值覆盖掉的
    
查:
5.int size(); 查看集合中元素的个数
         System.out.println(map.size());

6.boolean isEmpty();判断是否为空,如果不为空返回的是false
        System.out.println(map.isEmpty());

7.boolean containsKey();是否包含这个键
         System.out.println(map.containsKey(2));
8.boolean containsValue();是否包含这个值
         System.out.println(map.containsValue("小"));

    重要的方法:

9.V get(K key);通过键获取值
        System.out.println(map.get(6));

10.Set<K>  keySet();获取map集合中的键,然后存到set集合中
        System.out.println(map.keySet());
[1, 2, 3, 52, 36, 5, 6, 7, 8, 9]
        
11.Collection<V> values(); 获取map集合中值,存到了Collection集合中
        System.out.println(map.values());
[小, 小x标, 小v标, 标, 小x标, 小a标, 小g标, 小g标, 小a标, 小]


12.Set<Map.Entry<K,V>> entrySet();将map集合的键值对,存到了set集合
         Set<Map.Entry<Integer, String>> entries = map.entrySet();
增强for循环: for (Map.Entry<Integer, String> entry : entries) {
            System.out.println(entry.getKey());
             System.out.println(entry.getValues());
        }
        13.Map.Entry这个接口的方法.var
        14.getKey:返回键值对的键
        15.getValue:返回键值对的值

2.Map集合中的value存的是对象

package com.homework;

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

class Bai {
    String name;
    int age;

    public Bai(String name, int age) {
        this.name = name;
        this.age = age;
    }

    @Override
    public String toString() {
        return "Bai{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}
public class Demo8 {
    public static void main(String[] args) {
        Map<Integer , Bai> map = new HashMap<>();
        map.put(1 , new Bai("小标" , 18));
        map.put(3 , new Bai("标" , 12));
        map.put(1 , new Bai("小" , 120));
        map.put(7 , new Bai("小x标" , 108));
        System.out.println(map);
    }
}
************List存***********
   package com.homework;

import java.util.*;

class Ya {
    String name;
    int age;

    public Ya(String name, int age) {
        this.name = name;
        this.age = age;
    }

    @Override
    public String toString() {
        return "Bai{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}
public class Demo9 {
    public static void main(String[] args) {

        List<Ya> list = new ArrayList<>();
        list.add(new Ya("小白" , 18));
        list.add(new Ya("小" , 20));
        list.add(new Ya("白" , 180));
        list.add(new Ya("小x白" , 108));
        List<Ya> list1 = new ArrayList<>();
        list1.add(new Ya("小x白" , 185));
        list1.add(new Ya("小x" , 200));
        list1.add(new Ya("白c" , 1800));
        list1.add(new Ya("小ax白" , 10800));
        //存值
        Map<Integer , List<Ya>> map = new HashMap<>();
        map.put(6 , list);
        map.put(3 , list1);
        System.out.println(map);
        //取键
        Set<Integer> key = map.keySet();
        System.out.println(key);
        //取值1
        Collection<List<Ya>> values = map.values();
        for (List<Ya> value : values) {
            for (Ya ya : value) {
                System.out.println(ya.name);
            }
        }
        //取值2
//        Set<Map.Entry<Integer, List<Ya>>> entries = map.entrySet();
//        for (Map.Entry<Integer, List<Ya>> entry : entries) {
//            System.out.println(entry.getValue());
//        }
    }
}

 

 

 

posted on 2022-08-09 21:36  白小白的日志  阅读(33)  评论(0)    收藏  举报