zoukankan      html  css  js  c++  java
  • 泛型-----键值对----映射 hashmap--entry中key value 链表

     

    connection

    map

    集合框架
    * java.util.Collection
    *集合与数组相似,也是可以保存一组元素,并且提供了操作元素的相关方法.
    *collection是所有集合的顶级接口,规定了集合应有的基本功能方法
    *collection下面两个常见的子接口:
    *java.util.List:可重复集,并且有序
    *java.util.Set:不可重复集,大部分实现类无序
    *元素是否重复依靠元素自身equals比较的结果而定

    java5中有泛型,注解,增强循环,自动装箱和自动拆箱

    泛型(generics) 能够在编译期检查出错误

    class cast异常

    编译器

    擦除法----一个参数化的类型经过擦除后会去除参数

    一开始没有泛型时,若集合中添加的元素类型不一致,会增加使用者的责任(需要记住每一个元素的类型,要不然在运行就会报错),而且编译器也无法甄别错误

    泛型的出现就是为了解决上述问题

    所谓泛型,就是为了避免强制转换太频繁,增加开发者负担.

    所以我们用一个方法定义一个泛型,以list为模板可以实例化很多类,如果传错类型会直接编译不通过

    这样子就省去了运行时再发现错误了

    但是问题来了,实例化这么多类,系统会不会受不了呢?

    这是,我们用到一个方法,擦除,即将Arraylist<integer>直接擦除为Arraylist

    所有类型定义为object这个父类,如果你需要转换,设置自动转换类型便可以了

    但是我们又得考虑到实现接口,而且得知道apple是fruit的子类

    但是Arraylist<fruit>不是Arraylist<apple>的父类

    所以推荐使用extends关键字,即<? extends fruit>这种格式来判断

    引入一个通配符

    Arraylist<? extends fruit> list :只能遍历读list,不能向list中加入新的元素

    Arraylist<? super fruit> list : 可以循环遍历,可以向list中加入Apple

     系统分层

  • 相关阅读:
    盛大自动化运维
    Redis used_cpu_sys used_cpu_user meaning (redis info中cpu信息的含义)
    redis info 详解
    htop详解
    线程问题排查思路
    网络协议基础 -- 东哥
    线程通讯
    进程
    day14
    day13
  • 原文地址:https://www.cnblogs.com/smallwangmusk/p/9006596.html
Copyright © 2011-2022 走看看