在千锋逆战班学习 第五周总结

千锋逆战班学习第25天
努力或许没有收获,但不努力一定没收获,加油。
今天我学了Java课程的集合。
中国加油!!!武汉加油!!!千锋加油!!!我自己加油!!!
集合:

  1. Collection体系集合:
    I. Collection父接口:该体系结构的根接口,代表一组对象,称为“集合”,每个对象都是该集合的“元素”。
    II. List接口的特点:有序、有下标、元素可重复。
    III. Set接口的特点:无序、无下标、元素不可重复。
  2. List子接口:
    I. 特点:有序、有下标、元素可以重复。
    II. 继承可父接口提供的共性方法,同时定义了一些独有的与下标相关的操作方法。
  3. List实现类:
    I. JDK8的ArrayList,实际初始长度是0
    II. 首次添加元素时,需要实际分配数组空间,执行数组扩容操作
    III. 真正向数组中插入数据,(Lazy懒)用的时候再创建,或再加载,有效的降低无用内存的占用
  4. ArrayList:
    I. 数组结构存储,查询快,增删慢。//注册(1次)-> 查询(N次)
    II. JDK 1.2发布,执行效率快,线程不安全。
  5. Vector:
    I. 数组结构存储,查询快,增删慢。
    II. JDK 1.0发布,执行效率慢,线程安全。
  6. LnkedList:
    I. 链表(链接列表)结构存储,查询慢、增删快。
    II. 了解:Queue接口:队列、双端队列
    III. 了解:栈结构Last In First Out(后进先出)
    IV. 了解:队列结构First In First Out(先进先出)
  7. 泛型集合【重点-解决应用问题】:
    I. 概念:参数化类型、类型安全的集合,强制集合元素的类型必须一致。
    II. 特点:
    1). 编译时即可检查,而非运行时抛出异常。
    2). 访问时,不必类型转换(拆箱)。
    3). 不同泛型之间引用不能相互赋值,泛型不存在多态。
  8. 泛型:高级类别的知识,熟练应用,需要时间、经验的积累(常用名称:E = Element / T = Type / K = Key / V = Value)
    I. 概念:约束-规范类型
    II. 泛型的场景:
    1). 定义泛型:
    A). 实例泛型:
    a). 类:创建对象时,为类所定义的泛型,进行参数化赋值
    b). 接口:实现接口时,为接口所定义的泛型,进行参数化赋值
    B). 静态泛型:
    a). 定义在方法的返回值类型前面:、、<T extends Comparable>、<T extends Comparable<? super T>> 可应用在形参列表、返回值两种场景上,不单单可以规范泛型,还可以语义化返回值。
    b). 定义在方法的形参列表当中:<?>、<? extends Object>、<? super Integer>,不支持使用& 只能应用在形参列表上,规范泛型。
  9. Collections工具类:
    概念:集合工具类,定义了除了存取以外的集合常用方法。
    I. public static <T extends Comparable<? super T>> void sort(List list) //排序,要求:必须实现Comparable,必须可与自身类型比,以及父类类型比
    II. public static void reverse(List<?> list) //反转、倒置元素
    III. public static void shuffle(List<?> list) //随机重置顺序
  10. Set子接口:
    I. 特点:无序、无下标、元素不可重复(当插入新元素时,如果新元素与已有元素进行equals比较,结果为true时,则拒绝新元素的插入)
    II. 方法:全部继承自Collection中的方法
  11. foreach循环:
    for(数据类型 变量名 : 容器名称){ //可遍历集合或数组(常用在无序集合上)
    }
  12. Set接口实现类:
    I. HashSet【重要】:
    1). HashSet的底层使用的HashMap类,即是将所有需要存入HashSet的值,直接保存在HashMap中
    2). HashSet如何去掉重复?
    3). 先判断hashCode是否一致,==比较地址,equals比较内容
    II. LinkedHashSet【了解】:
    1). 底层使用LinkedHashMap(链表结构)存储,节点形式单独存储数据,并可以指向下一个节点,通过顺序访问节点,可保留元素插入顺序
    III. TreeSet【了解】:
    1). 实现了SortedSet接口,要求必须可以对元素排序。
    2). 所有插入元素,必须实现Comparable接口,覆盖compareTo方法。
    3). 根据compareTo方法返回0作为去重的依据,(意味重复)
  13. Map体系集合:
    I. Map:地图、映射
    I. 概念:存储一对数据(Key-value),无序、无下标、键不可重复、值可以重复。
    II. HashMap算法:拿到任何一个对象好,通过hash(key)做运算,key>>>16(除以16),只可能得到0~15之间的一个数组,作为插入数组的下标
    III. Hashtable:HashMap的线程安全版本
    IV. TreeMap:自动对key做排序,根据compareTo的返回值去重
    V. Properties:Hashtable 子类,主要用于存储key和value都是字符串的情况,常在读取配置文件之后,保存文件中的键值对。反射、JDBC
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值