几分钟看完的javaSE基础(三)

为君一笑 提交于 2020-01-26 10:49:19

 object 类  object是类层次结构的根类,每个类都使用Object作为超类。

String:概念-->多个字符串组成的字符序列,理解为字符数组;String的跟StringBuilderStringBuffer的区别在于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线程安全,效率低 ;

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!