1-3java语言高级

笔记内容为网课随堂笔记,3.5倍速快速复习三个小时写的笔记,比较粗糙
附上思维导图截图
建议图片另存为到本地观看

03常用API二

  • 第六节 基本类型包装类
    • 包装类概念
      • 基本数据类型没有对应方法操作数据所以整一个包装类操作
    • 基本类型对应包装类
      • int Integer
      • char Character
      • 其他首字母大写
        • byte Byte
        • boolean Boolean
        • float Float
    • 装箱与拆箱
      • 装箱
        • 基本类型包装到包装类中
        • 构造方法(过时)
          • Integer(int value)
          • Integer(String s)
        • 静态方法(为过时)
          • static Integer valueOf(int i)
          • static Integer valueOf(String s)
      • 拆箱
        • 包装类中取出基本类型
        • 成员方法
          • int intValue()
    • 自动装箱与拆箱
      • jdk1.5之后新特性
      • 基本数据类型与包装类相互转换
      • 自动装箱
        • Interger in = 1;
      • 自动拆箱
        • in = in + 2;
    • 基本类型与字符串类型相互转换
      • 基本类型转String
        • 基本类型+“”
        • 包装类静态方法
          • static String toString(int i);
        • String类静态方法
          • static String valueOf(int i);
      • String 转基本类型
        • 包装类静态方法
          • parseXXX();
            • static int parseInt(String s);
            • static double parseDouble(string s);
  • 第五节 StringBuilder类
    • StringBuilder
      • 原理
      • 构造方法
        • StringBuilder(String str)
      • tostring
        • 转换成String类型
    • 链式编程
      • 一行完成

04 集合

  • 01 Collection 集合
    • 集合框架
      • Collection接口
        • 没有带索引的方法
        • List接口
          • 有序允许重复有下表索引
          • Vector
          • ArrayList
          • LinkedList
        • Set接口
          • 不允许重复没有索引
          • 无序集合
            • TreeSet
            • HashSet
              • LinkedHashSet
              • 有序的集合
    • 集合常用功能
      • 存储数据
      • 取出数据
      • 不同类型的集合特性
      • clear();
        • 删除元素集合还存在
      • add();
      • remove();
    • Iterator 接口
      • 迭代器
      • hasNext();
      • next();
      • remove();
    • 增强for循环
      • for(集合类型 变量名:集合名)
  • 02 泛型
    • 未知的数据类型
    • 变量接收数据类型
    • E e
      • E 未知的数据类型
    • 创建对象时确定泛型类型
      • ArrayList
      • ArrayList list = new ArrayList();
    • 好处
      • 不使用泛型
        • Object 类型
        • 不安全
      • 使用泛型
        • 避免类型转换
        • 运行时异常提升成编译异常
    • 泛型的定义
      • 泛型类
        • public class 类名{}
        • 创建不写泛型
          • GenericClass gc = new GenericClass();
        • 泛型使用Integer类型
          • GenericClass gc2 = new GenericClass();
      • 含有泛型的方法
        • 修饰符 <泛型> 返回值类型 方法名(参数列表 使用泛型){}
        • public void method 01(M m){}
        • 传进来什么类型就是什么类型
        • 静态方法不建议创建对象使用
          • 静态方法 通过 类名.方法名(参数)直接使用
      • 含有泛型的接口
        • 定义接口的实现类,实现接口,指定接口的泛型
        • public interface Iterator{E next();}
        • 第二种方式 接口使用什么泛型 实现类就使用什么泛型
    • 泛型通配符
      • ? 代表任意数据类型
      • 泛型没有继承概念
      • public static void printArray(ArrayList<?> list);
      • 受限泛型
        • 上限
          • 类型名称 <? extend 类> 对象名称
          • 只能接受该类型及其子类
        • 下限
          • 类型名称 <? super 类> 对象名称
          • 只能接受该类型及其父类型
  • 04List集合
    • 特点
      • 有序
      • 有索引
      • 允许重复
    • ArrayList
      • 数组
    • LinkedList
      • 链表
    • Vector
      • 可增值对象数组
  • 05Set集合
    • 特点
      • 不包含索引
      • 不重复
    • HashSet
      • 本质HashMap实例
      • 特点
        • 无序集合
        • 底层哈希表结构
      • hashcode()
        • 重地和通话哈希值相等
    • 存储结构
      • jdk1.5 数组+链表
      • jdk 1.8 数组+链表和数组+红黑树
    • 不重复原理
      • 计算哈希值
        • 冲突后调用equals方法
      • 前提:存储元素必须重写hashCode方法和equals方法
    • HashSet存储自定义类型元素
      • 重写hashCode和equals方法
    • LinkedHashSet
      • 维护着一个运行于所有条目的双重链接表
      • 继承了HashSet
      • 多一条链表保证元素有序
    • 可变参数
      • 修饰符 返回值类型 方法名(参数类型 参数名)
      • 类型确定 个数不确定
      • 修饰符 返回值类型 方法名(数据类型 … 变量名)
        • 变量个数可为 0 1 2 。。。
      • 底层是一个数组长度自动生成
      • 可变参数只能写在末尾
  • 06Collections集合工具类
    • addALL
      • 添加元素
    • shuffle
      • 打乱顺序
    • sort
      • 排序
      • 默认
        • 实现Comparable接口
        • 重写接口comparTO规则
        • this 和参数
      • 传参
        • Comparator 相当于找第三方
        • 重写 compare 规则
        • o1 和 o2
  • 07Map集合
    • 特点
      • 双列
        • <key,value>
      • key不允许重复 value可以
    • HashMap
      • 查询速度特别快
    • LinkedHashMap
      • 有序的
    • 常用方法
      • put(key,value)
      • remove(key)返回被删除的值
      • get(key)返回值
      • containsKey(key)判断是否包含键值
    • 遍历map
      • keySet()
        • getKey()来获取value
      • entrySet()
        • map内部多个Entry对象取出来存储到Set集合中
        • entry对象 getkey()
          • getvalue()
    • HashMap存储自定义类型
      • 作为key的元素重写hashCode方法和equals方法,保证key唯一
    • HashTable集合
      • 线程安全是单线程集合速度慢
      • 不能存储null 空值
      • 子类Properties
        • 唯一 一个和IO流结合的集合
    • JDK9集合优化
      • 添加集合工厂方法
        • Set.of()
        • Map.of()
        • List.of()
        • 返回的是不能改变的集合不能使用add put等方法
        • Set和Map调用of时候不能有重复元素否则异常

05DeBug调试追踪

XMind: ZEN - Trial Version