Day14 Map 容器 反射

一 Map 容器

Map
      存储的数据都是key,value键值对形式的
      key 可以任意数据类型   无序的,唯一的   -->set结合
      value 可以任意数据类型  无序的  ,不唯一的 -->Collection结合
      一个key只能对应一个value(value可以为集合,集合中存储多个数据)

             boolean containsKey(Object key)
                      如果此映射包含指定键的映射关系,则返回 true。
             boolean containsValue(Object value)

                      如果此映射包含指定值的映射关系,则返回 true。

1.HashMap

HashSet是由HashMap维护的,但是HashMap是键值对的形式,初始容量是16,加载因子是0.75
 * 底层是hash表的结构
 * HashMap的key如果是引用数据类型的对象,做去重要重写hashCode和equals
 * 如果想要实现value去重,需要手动判断

public class HashMap02 {
    public static void main(String[] args) {
        HashMap<Person,Integer> map=new HashMap();
        map.put(new Person(01,"haha",100), 01);
        map.put(new Person(02,"hehe",200), 03);
        if(!map.containsValue(03)){
            map.put(new Person(01,"haha",100), 03);
        }
        
        System.out.println(map);
    }
}

HashMap和HashSet的关系

一句话:HashSet实际上为(key,null)类型的HashMap,而我们知道,HashSet的key是不能重复的,所以HashSet的值自然也是没有重复的.因为HashMap的key可以为null,所以HashSet的值可以为null

2.TreeMap

TreeSet是由TreeMap的key维护的,使用方式相同,但是是键值对的形式

二 反射

反射是发生在程序运行期间的行为--java的一个动静态机制  反射

反射
 *     1.创建对象的时候,拿到的都是当前类型Class对象的一个镜像|赋值体
 *     2.在类加载的时候,会在内存中存在当前类型的一个Class对象,一个类的Class对象中存储这个类的所有信息(属性,方法,构造器...)
 *     3.只要我们能够获取这个类型的Class对象,就可以对这个类做一切操作
 *
 * Class 类的实例表示正在运行的 Java 应用程序中的类和接口

1.获取源头(Class对象):

三种方法:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值