2019-06-12从0开始学习java的第六天

1.    set集合

1.1    hashSet特点:无序+无索引+无重复,图解见2019-6-12/img/1

1.2    哈希值:hashcode()返回的是数据的10进制逻辑地址,是由操作系统主导的。图解见2019-6-12/img/2

1.3    哈希表结构:查询极快。图解见2019-6-12/img/3和4

1.4    理解hash不重复的原因是:重写了hashcode和equals方法。因此用hash存储自定义类型时,一定要注意重写这两个方法才能保证不重复。图解见2019-6-12/img/5和6

1.5    linkedHashSet(加了一个链表):有序+无索引+无重复。图解见2019-6-12/img/7

1.6    可变参数(底层还是数组)的使用和注意事项:图解见2019-6-12/img/8和9


2.    Collections工具类

2.1    addAll(collection,e1,e2....),shuffle(list)【这里如果是set的话可以使用list的addAll方法转为list】。图解见2019-6-12/img/10

2.2    sort(list)默认排序方法(保证list的元素实现了comparable接口)图解见2019-6-12/img/11和12,sort(list,comparator实现类)。图解见2019-6-12/img/13和14


3.    Map

3.1    map特点:图解见2019-6-12/img/15

3.2    hashMap/linkedHashMap特点:图解见2019-6-12/img/16

3.3    map常用方法:图解见2019-6-12/img/17

①put(k,v),如果k不存在,返回null,存在就换成现在的键值对,并返回被替换的value。

②get(k)返回value。

③remove(k)返回null或者value

④containsKey(k)返回布尔

3.4    map遍历方法1:键找值,通过keySet()获取键,进而得到value。图解见2019-6-12/img/18

3.5    Entry对象简介:图解见2019-6-12/img/19

3.6    map遍历方法2:entrySet()。图解见2019-6-12/img/20和21

3.7    map存储自定义类型:因为key是唯一的,不重复,所以需要重写hashcode和equals。图解见2019-6-12/img/22和23

3.8    linkedHashMap:有序。图解见2019-6-12/img/24

3.9    hashTable:过时,不能存储null值。图解见2019-6-12/img/25

3.10    案例:统计字符串各个字符的个数。图解见2019-6-12/img/26

3.11    JDK109新特性:SET,LIST,MAP快速添加元素方法。例如:List<Integer> list = List.Of(10,20)。图解见2019-6-12/img/27


4.    debug调试

图解见2019-6-12/img/28


5.    综合案例——斗地主(得到有序的牌)

图解见2019-6-12/img/29


6.    异常

6. 1    throwable:error+exception。图解见2019-6-12/img/30

6.2    异常产生的原理:图解见2019-6-12/img/31

6.3    throw抛出异常

①runtime类型异常可以不处理(JVM来处理)

②编译异常必须声明或者捕获

图解见2019-6-12/img/32和33和34

6.4    Objects.requireNonNull(obj)可以识别null异常.图解见2019-6-12/img/35

6.5    解决编译异常的第一种方法——throws声明。图解见2019-6-12/img/36和37

6.6    解决编译异常的第二种方法——try/catch。(不用JVM中断处理,我们自己解决)。图解见2019-6-12/img/38和39

6.7    catch处理异常的三种方法:getMessage,toString,printStackTrace。图解见2019-6-12/img/40

6.8    finally收尾:必须执行的代码。最好不要带return,否则方法一定从这里返回。图解见2019-6-12/img/41和45

6.9    多异常处理方式:一一处理,一捕获多处理(子类处理在最上面),一捕获一处理(使用父类)。图解见2019-6-12/img/42和43和44

6.10    父类子类异常的注意事项:图解见2019-6-12/img/46

6.11    自定义异常类。图解见2019-6-12/47

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。