Java集合-Map接口方法及基本使用

Java集合——Map接口

1. Map接口特性
  • Map接口的数据是以 键值对( key-value ) 的形式存储的,可以通过键来获取值。
  • 键(Key) 不能重复。
  • Map接口的实现类包括:HashMap、TreeMap、HashTable、Properties等。
2. Map 方法
方法描述
void clear( )从此映射中移除所有映射关系(可选操作)。
boolean containsKey(Object k)如果此映射包含指定键的映射关系,则返回 true。
boolean containsValue(Object v)如果此映射将一个或多个键映射到指定值,则返回 true。
Set entrySet( )返回此映射中包含的映射关系的 Set 视图。
boolean equals(Object obj)比较指定的对象与此映射是否相等。
Object get(Object k)返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null。
int hashCode( )返回此映射的哈希码值。
boolean isEmpty( )如果此映射未包含键-值映射关系,则返回 true。
Set keySet( )返回此映射中包含的键的 Set 视图。
Object put(Object k, Object v)将指定的值与此映射中的指定键关联(可选操作)。
void putAll(Map m)从指定映射中将所有映射关系复制到此映射中(可选操作)。
Object remove(Object k)如果存在一个键的映射关系,则将其从此映射中移除(可选操作)。
int size( )返回此映射中的键-值映射关系数。
Collection values( )返回此映射中包含的值的 Collection 视图。
3. Map方法基本使用
import java.util.Map;
import java.util.HashMap;
public class MapTest {
    public static void main(String[] args) {
        Map<Integer, String> map = new HashMap<>();
        Map<Integer, String> map2 = new HashMap<>();
        
        map.put(1,"ANO");
        map.put(2,"JAY");
        map.put(3,"JACKSON");
        map.put(2,"BABE");

        System.out.println(map.size());  //3
        System.out.println(map);  //{1=ANO, 2=BABE, 3=JACKSON}
        System.out.println(map.get(1)); //ANO
        System.out.println(map.get(2)); //BABE

        System.out.println(map.isEmpty()); //false
        System.out.println(map.containsKey(2));  //true
        System.out.println(map.containsValue("ANO"));  //true

        map2.putAll(map);
        map2.put(4,"JAY");
        System.out.println(map2); //{1=ANO, 2=BABE, 3=JACKSON, 4=JAY}
        map2.clear();
        System.out.println(map2); //{}

        Map<String, Student> mapStu = new HashMap<>();
        mapStu.put("1001", new Student(17,"Song"));
        mapStu.put("1002", new Student(19,"Li"));
        mapStu.put("1003", new Student(16,"Zhou"));
        System.out.println(mapStu); 
        //{1003=AGE:16 ->NAME:Zhou, 1002=AGE:19 ->NAME:Li, 1001=AGE:17 ->NAME:Song}
    }
}

class Student{
    private int age;
    private String name;

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

    @Override
    public String toString() {
        return "AGE:" + this.age + " ->NAME:" + this.name ;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值