泛型:
泛型类 泛型方法 泛型接口
应用:
Collection 接口类图:
Map 集合类图:
- 集合里面对象不能重复 如果重复加不进去,内部使用 HashMap 来实现 键值对 键key不能重复
-
添加集合是无序的 添加的顺序和存储的顺序无关,使用了默认排序
哈希算法:
如何实现 HashMap 里面 key 不相同
计算这个 key 对应对象的hash值
整数:在对象的地址的基础上按照一定的算法计算出来的
//equals 比较的是对象内部的内容
//使用的两个对象必须实现Comparable接口的compareTo方法
//在compareTo里面实现具体该如何实现
可以排序的集合 TreeSet
方法 1.
方法 2.
![Jietu20190817-102237.jpg](https://upload-images.jianshu.io/upload_images/18960951-4b8d37d0b67e49db.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
HashMap 集合
存储数据的特点:键key - 值value
注意⚠️: key不能重复,可以是任何的对象类型,通常使用字符串
常用方法:
1. 更改某个键对应的值
2. 获取键值对的个数
3. 获取所有的键key
4. 获取所有的value
5. 获取Entry(key-value)
6. 获取一个键key对应的值value
键值对的遍历:
1.通过遍历key来得到每一个key对应的值
2.通过EntrySet,得到Entry对象的集合,一个Entry管理一个键值对 getKey getValue
异常处理:
异常处理:处理运行过程中出现的不可控的错误,使程序更健壮
try{
执行的代码(尽量不要一次性抓获多个异常)可能出现异常,一旦出现异常,系统会自动自动创建一个异常对象并抛出
}catch(Test e){
}
如果有多个异常,可以用多个catch来捕获,其顺序从小到大,如果异常出现,后面的代码将不会执行
Finally:
finally{
处理资源回收 网络连接 数据库连接 I/O流(不管有没有异常finally都会执行)
}
当特殊情况出现,自己可以选择抛出异常
自己创建一个异常处理类:需要构造一个无参构造方法和一个有参构造方法
圆括号里面只能添加可以关闭的对象
实现了Closeable接口的对象
如果出现异常,系统自动就关闭这个资源
使用throws抛出异常给外部处理:
抛出自己定义的异常:
今日总结感悟:今天也是收获满满的一天丫。泛型,可以通过一种类型或方法操纵各种不同类型的对象,同时又提供了编译时的类型保证。在使用泛型定义的类创建对象时,即在泛型实例化时,可以根据不同的需求给出类型参数T的具体类型。而在调用泛型类的方法传递或返回数据类型时可以不同进行类型转换,而是直接作为类型来代替参数类型或返回值的类型。而异常是指程序运行过程中发生由于算法考虑不周或软件设计等导致的程序异常事件。Java 中异常处理是通过 try,catch,finally,throw,throws五个关键词来实现,其实实际使用并不复杂