首页 > 行业 > 正文

集合 第二天-微动态

List1.ArrayList :数组结构 (此实现不是同步的,线程不安全)效率较高当容量不足的时候,按自身的50%扩容10 --> 15 --> 22 --> 33void trimToSize(); 将ArrayList的实例和理论相等查询速度快,增删略慢学校 管理系统


(资料图)

2.Vector:数组结构 线程安全当容量不足的时候,按自身的100%扩容10 --> 20 --> 40 --> 80 --> 160

3.LinkedList:链表结构不是同步的 线程不安全 查询速度慢 增删快 物流系统 单号

LinkedList:常用操作

增 addFirstaddLast

异常处理:Throwble:/Error:错误 /Exception 异常/RuntimeException运行时异常/被检测异常/RuntimeException之外的异常 :编译时异常/检测异常JVM默认的异常处理方式,将异常打印到控制台,然后终止程序,

Java中异常标准处理方式:

try{可能产生异常的代码}catch(异常类型 异常名 ){异常的处理方式}finally{一定会被执行的代码,常用于资源释放,锁的释放等……}

注意:不要在循环里进行异常处理1.没有对异常处理时,JVM的默认处理方式:将异常打印到控制台,然后终止程序,2.有try cath,但是异常没发生,先执行try 然后执行finally,程序正常运行 有try cath,但是异常发生,先执行try,从异常产生的那行代码开始跳转到catch语句,寻找匹配的catch语句,如果有匹配的就执行如果没有,执行finally,终止程序然后执行finally,程序正常运行

finally:唯一不会被执行的情况,程序在运行到finally之前,停单了,则不运行finallySystem.exit( 0 ); 强制结束JVM 的运行,相当于停电了return不能结束finally的运行

throw:动词 抛出一个异常 用于函数内部格式 : throw new 异常的构造对象();如果抛出的是 运行异常,则不需要声明,否则需要通过throws在函数上来进行声明throws:名词,声明一个异常,用于函数声明部分

没有catch语句 ,就没有对异常进行处理

异常提供的功能getMessage();获取异常产生的原因toString();获取异常名 和异常原因printStackTrace();打印异常名 和异常原因,异常位置(他就是我们JVM对异常的默认处理方式)

自定义异常:

根据程序提示 ,得到异常的名字 和异常的原因1.在手册中查询2.网络查询3.社区 群 4.总结 笔记博客

泛型深入JDK 5开始引入格式 :<数据类型>泛型只能支持引用数据类型集合体系的全部接口和实现类都是支持泛型的使用的;

自定义:类后面 ---泛型类方法 ------泛型方法接口后面-------泛型接口

Set系列集合特点SetHashSetTreeSet

Set集合特点:1.无序,第一次存取顺序不一致2.不重复 可以除去重复3.无索引 不能使用普通for循环遍历

Lamabda ()->{} () 形参 -> Lamabda标志 {} 函数功能的具体实现步骤注意: 1.Lamabda ()内形参类型可以省略2.Lamabda ()形参只有一个时,()可以省略3.Lamabda{}中的语句只有一条时, {}可以省略,分号去掉4.函数引用:要使用的功能,已经有函数实现时,可以使用函数引用 对象名::函数名

Set集合实现类特点HashSet :无序 不重复 无索引LinkedHashSet:有序 不重复 无索引

TreeSet : 排序 不重复 无索引

HashSet:集合时采用哈希表存储的数据

哈希表组成:JDK8之前:底层采用 数组+链表JDK8开始 底层采用 数组 +链表 +红黑树增删改查 速度快

哈希值:根据对象的地址,按照某种规则算出来的int类型的数值Object 类的APIpublic int hashCode();

String name = "小明";String name1 = "小黑";System.out.println("name.hashCode() = " + name.hashCode());System.out.println("name1.hashCode() = " + name1.hashCode());

(存储规则 将对象的哈希值 求余 放入对应位置,余数一样的话就直接链表式挂在下面 )

HashSet去掉重复原理: 根据哈希值求余 ,找到对应位置,当同一个位置时,null存入,如果有元素则调用equals方法比较set集合认为,2个内容一样的对象时重复的,必须重写hashCode 和equals重写

LinkedHashSet :有序 不重复 无索引基于哈希表,双链表记住添加顺序

TreeSet 不重复 无索引 可排序可排序:按照元素的大小默认升序(由小到大)排序

TreeSet 集合底层时基于红黑树的数据结构实现排序的,增删改查性能都很好

关键词:


您可能也喜欢这些文章

Copyright   2015-2022 北冰洋音箱网 版权所有  备案号:沪ICP备2020036824号-3   联系邮箱:562 66 29@qq.com