集合框架:Map--HashMap、TreeMap、Hashtable

HashMap

//Map---HashMap
/*
HashMap:键值对存放方式,将值存放到容器中,每个值都有一个键所对应
值集可以重复,因为值集是一个List
键集不能重复,因为键集是一个Set
如果键集重复,后边的值会将前边的值覆盖掉
进行排序,查找等操作需将Map转换成Set或List
HashMap可以以存放null值,键集(key)只能放一个null
 */
public class DemoC {
    public static void a(){
        Map<String,Object> map = new HashMap<>();
        //如何存放内容
        map.put("A",89);//起了个别名为A,值为89
        map.put("B",88);
        map.put("C",87);
        map.put("D",88);
        map.put("E",88);
        map.put("E",85);
        map.put("E",82);//覆盖掉之前E键所对应的值
        map.put("A",88);//覆盖掉之前A键所对应的值
        //如何获取内容
        Object value1 = map.get("A");
        //map.remove("A");//将“A”键所对应的值删除掉
        int size = map.size();
        System.out.println(size);
        boolean b = map.isEmpty();
        System.out.println(b);
        Set<String> keys = map.keySet();//获得所有的键集 键集不允许重复
        System.out.println(keys);
        Collection<Object> values = map.values();//获得所有的值集 值集可以重复
        System.out.println(values);
        boolean b1 = map.containsKey("A");//先HashCode再equals
        boolean b2 = map.containsValue(89);//List怎么判断这个就怎么判断  equals判断
        System.out.println(map);
    }
    public static void b(){
        Map<String,Object> map= new HashMap<>();
        map.put("A",99);
        map.put("A",88);
        map.put("B",99);
        map.put("null",89);
        map.put("C",null);
        map.put("null",34);
        Set<String> set = map.keySet();
        System.out.println(set);
        Collection<Object> cl = map.values();
        System.out.println(cl);
    }
    public static void main(String[] args){
        b();
    }
}

TreeMap

//Map--TreeMap
public class DemoD {
    public static void a(){
        TreeMap<String,Object> map = new TreeMap<>();
        map.put("A","aa");
        map.put("A","tt");//覆盖
        map.put("B","tt");
        //map.put(null,"mm");
        map.put("C",null);
        //map.put(null,null);//报错,TreeMap不允许键为null
        Object value1 = map.get("A");
        System.out.println(value1);
        map.remove("B");
        System.out.println(map);
        Set<String> keys = map.keySet();
        System.out.println(keys);
        Collection<Object> values = map.values();
        System.out.println(values);
        boolean b1 = map.containsKey("A");
        boolean b2 = map.containsValue(null);
        System.out.println(b1+ "   " +b2 );
        int size = map.size();
        System.out.println(size);
        map.clear();
    }

    public static void main(String[] args) {
        a();
    }
}

Hashtable

public class DemoE{
    public static void main(String[] args) {
        Hashtable<String, Object> table = new Hashtable<>();
        table.put("A","aa");
        //table.put(null,"bb");//报错
        //table.put("B",null);//报错
        System.out.println(table);
    }
}
/*
HashMap,Hashtable和TreeMap
HashMap键和值都能放null,键只能放一个null
Hashtable键和值都不能放null
TreeMap键不能放null,值能放null
 */
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值