object 类 object是类层次结构的根类,每个类都使用Object作为超类。
String:概念-->多个字符串组成的字符序列,理解为字符数组;String的跟StringBuilder和StringBuffer的区别在于String每次操作都会生成新的String对象,然后将指针指向新的String对象,而StringBuffer和StringBuilder可以在原有对象的基础上进行操作,所以在经常改变字符串内容的情况下,最好不要使用Sting。 StringBuffer和StringBuilder的区别在于StringBuffer是线程安全的,而StringBuilder是非线程安全的。但是StringBuilder却比StringBuffer的性能高,所以在单线程的情况下建议使用StringBuilder,多线程的情况下建议使用StringBuffer.
正则:
正则表达式由两种基本字符组成
原义字符:字符本身即是一个正则\t \n \r \f
元字符:* + ? $ ^ () [ ] {} ...
对正则表达式进行分类:字符类:[ abc] 可以出现abc中的任何一个进行匹配。[^abc] 对不是abc的字符进行匹配
范围类:[a-z] 表示代表a-z中的一个字符表示所有的小写英文 ----- >表示大小写的英文和数字[a-zA-Z0-9]
预定义类:
\d==[0-9]数字
\D==[^0-9]非数字
空白字符:[\t\n\x0B\f\r ] == \s
边界字符:^:以xxx开头 $:以XXX结尾 \b:单词边界 \B:非单词边界
量词:?:出现0次或者出现1次 +:出现1次或者多次 *:出现任意次 {n}:出现正好n次 {n,m}出现n-m次;{n,}出现至少n次
分组()让 jack出现4次的写法 (jack){4,}
异常Error:异常是指在程序的运行过程中所发生的不正常的事件,它会中断正在运行的程序,简单来说就是程序出现了不正常的情况。
finally修饰的代码一定会被执行
集合:使用集合对对象进行增加、删除、修改、遍历等操作。
数组和集合的区别:数组长度固定不可变的,集合长度是可以根据实际需要改变的 内容-->数组存储的是同一种类型的元素。集合可以存储不同类型的元素 数据类型:数组可以存储基本数据类型,也可以存储引用数据类型;集合只能存储引用类型。
注意:虽然集合不能存储基本数据类型,但是可以存储基本数据类型的包装类型
Conllection表示一组对象,这些对象也被称为Collection的元素。一些collection允许有重复的元素,而另一些则不允许。
增强for;相比普通for循环的又一种遍历方式;适用于遍历数组和集合;
格式:for(元素数据类型 变量:数组或者集合){使用变量即可,该变量就是元素}
List接口:特点--集合是有序的(存储有序) 有索引;方便查找和修改; List集合和重复;允许存储null(空)值;
Listlterato接口是List持有的迭代器,允许程序员按任何一方向遍历列表,迭代期间修改列表,并获得迭代器在列表中当前的位置
ArrayList:数据结构,数据的存储方式和集合相关的数据结构,数组,栈,队列,链表,哈希表,二叉树;
ArrayList特点:有序,有索引,元素可以重复,可以存储null值,随机访问速度快,修改速度快,增加/插入/移除/删除的效率慢;线程不安全
Vector:底层数据结构是数组,插入和移除性能较差,线程安全;但是效率低啊!
LinkedList 类:底层数据结构是链表;插入和移除性能高,查询效率低。线程不安全,效率高;可以存储null值;允许重复;不可排序;
泛型Stack:概念:在编译时期就确定的类型的一种技术;泛型是一种参数化类型 格式:<数据类型> 这里必须是引用类型; 泛型一般用于集合;使用泛型的好处;提高了程序的安全性;消除了黄色警告线;在编译时期将类型确定,减少不必要的强转代码;
Stack;泛型的应用:泛型根据放置的位置不同分为泛型类;泛型方法;泛型接口;
Set接口;一个不包含重复元素的Collection Set集合的特点:集合元素不重复,存储无序;
HashSet类;此类实现Set接口,由哈希表支持。它不保证set的迭代顺序。特别是它不保证该顺序恒久不变;该类允许null元素就。HashSet保证元素唯一。底层数据结构是哈希表,哈希表依赖于哈希值存储,添加元素时保证元素唯一,本质底层依赖两个方法:int hashCode(); boolean equals(Object obj) ;
TreeSet,基于TreeMap的NavigableSet(导航集)实现,使用元素的自然顺序对元素进行排序。或者根据创建set时提供的Comparator进行排序,具体取决于使用的构造方法。
使用元素的自然顺序对元素进行排序(自然排序) 根据创建set时提供的comparator进行排序(比较排序);
TreeSet保证元素的排序和唯一性,底层数据结构是红黑树(自平衡的二叉树)
LinkedHashSet类概述;具有可预知迭代顺序的Set接口的哈希表和链接列表实现。由链表保证元素有序,由哈希表保证元素唯一
Map接口;Map集合提供了集合之间一种映射关系;让集合和集合之间产生关系; Map集合的特点:*能够存储唯一的列的数据(key唯一,不可重复)Set(无序,无重复);*能够存储可以重复的数据(value可重复) List(有序,有重复);*值的顺序取决于键的顺序;*键和值都是可以存储null元素的;一个映射不能包含重复的键。每个键最多只能映射到一个值。
HashMap集合;基于哈希表的Map接口的实现。HashMap不保证映射的顺序,特别是它不保证该顺序恒久不变。特点:键无序,唯一,类似于Set集合;值有序,可重复,类似于List;底层数据结构是哈希表,保证键值唯一;允许键为null,值为null;
LinkedHashMap特点:键有序,唯一;值有序,可重复,类似于List;底层数据结构是哈希和链表,哈希表保证键唯一,链表保证键有序。
TreeMap;基于红黑树,该映射根据其键的自然顺序进行排序,或者根据创建映射时提供的Comarator进行排序;特点:键可排序,可重复,类似于List;底层数据结构是自平衡的二叉树,可排序。排序方式分为自然排序和比较器排序。具体取决于使用的构造方法;
Hashtable;此类实现一个哈希表;该哈希表将键映射到相应的值。任何非null对象都可以用作键或值。null对象都可以用作键或值;特点:不允许null键和null值 Hashtable线程安全,效率低 ;
来源:CSDN
作者:TMrli
链接:https://blog.csdn.net/qq_38037950/article/details/103866637