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);
- parseXXX();
- 包装类静态方法
- 基本类型转String
- 包装类概念
- 第五节 StringBuilder类
- StringBuilder
- 原理
- 构造方法
- StringBuilder(String str)
- tostring
- 转换成String类型
- 链式编程
- 一行完成
- StringBuilder
04 集合
- 01 Collection 集合
- 集合框架
- Collection接口
- 没有带索引的方法
- List接口
- 有序允许重复有下表索引
- Vector
- ArrayList
- LinkedList
- Set接口
- 不允许重复没有索引
- 无序集合
- TreeSet
- HashSet
- LinkedHashSet
- 有序的集合
- Collection接口
- 集合常用功能
- 存储数据
- 取出数据
- 不同类型的集合特性
- 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
- addALL
- 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()
- keySet()
- 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