二、Pattern类和Matcher类

1. Pattern类
Pattern类是用于表示正则表达式编译过程的类,其使用方法通常是将正则表达式编译为Pattern对象,然后使用该对象进行匹配操作。除此之外,它还提供了多个方法,用于对字符串进行匹配或分割等操作。

2. Matcher类
matcher类用于在给定的pattern实例的模式控制下进行字符串的匹配工作,matcher类的构造方法是私有的,只能通过pattern类提供的matcher()方法得到该类的实例。

第6章 集合与泛型

6.1集合的概述

Java中的集合是Java提供的一系列接口和实现类,通过这些接口和实现类可以很方便的存储和管理对象。Java中的集合位于java.util包中,其按照存储结构可以分为单列集合collection和双列集合map两类,单列集合中每个元素是独立的单一数据,而双列集合中每个元素由两个数据组成。
① collection集合:单列集合类的根接口,它有两个重要的子接口,分别为List和Set。
② map集合:双列集合类的根接口,用于存储具有键(key)和值(value)映射关系的键值对。

collection集合是所有单列集合的根接口,它定义了单列集合通用的一些方法,这些方法可以被所有的单列集合调用。

collection集合常用的方法

• boolean add(E):向集合中添加一个元素,E是所添加元素的数据类型。

• boolean addAll(Collection c):将指定集合c中的所有元素添加到当前集合中。

• void clear():删除集合中的所有元素。

• boolean remove(Object o):删除集合中的指定元素o,当集合中包含多个元素o时,删除第1个符合条件的元素。

6.3 List集合

一、List集合简介

List集合是一个有序集合,允许存储重复的元素。List集合中的元素按照插入的顺序进行存储,并且可以通过索引访问和操作其中的元素。

List集合的特有方法

• void add(int index,Object element):将对象element插入List集合的index索引处。

• boolean addAll(int index,Collection c):将集合C中的所有元素插入List集合的index索引处。

• Object get(int index):返回集合中索引为index的数据。

• Object set(int index,Object element):将索引为index的元素替换成element对象,并将替换后的对象返回。

• int indexOf(Object o):返回对象o在List集合中第一次出现的索引。

• int lastIndexOf(Object o):返回对象o在List集合中最后一次出现的索引。

• List subList(int fromIndex,int toIndex):返回从索引fromIndex(包括)到toIndex(不包括)的所有元素组成的子集合。

二、ArrayList集合

ArrayList集合是List集合的一个实现类,ArrayList集合内部封装了一个长度可变的数组对象,当存入的元素超过数组长度时,ArrayList会在内存中分配一个更大的数组来存储这些元素,因此可以将ArrayList集合看作一个长度可变的数组。

ArrayList集合常用的构造方法

1. ArrayList():创建一个初始容量为10的空ArrayList对象

2. ArrayList(int initialCapacity):创建一个指定初始容量为空ArrayList对象

3. ArrayList(Collection<? extends E> c):创建一个包含指定collection元素的ArrayList对象

三、LinkedList集合

LinkedList集合中插入和删除元素的过程:插入元素就是改变引用关系;删除元素,就是将前后元素相互引用。

LinkedList集合带有的方法

• void addFirst(Object o):将指定元素o插入集合的开头

• void addLast(Object o):将指定元素o添加到集合的结尾

• Object getFirst():返回集合的第一个元素

• Object getLast():返回集合的最后一个元素

• Object removeFirst():移除并返回集合的第一个元素

• Object removeLast():移除并返回集合的最后一个元素

6.4 集合的遍历

1.使用Iterator迭代器遍历集合

Iterator接口的常用方法

• boolean hasNext():判断集合中是否还有下一个元素可以访问

• Object next():返回集合中的下一个元素,并将迭代指针移到下一个位置

• void remove():从集合中移除通过next()方法获取到的元素

2.使用增强for循环遍历集合

在遍历集合时,增强for循环的功能是在编译时被转换成Iterator迭代器的while循环实现的,因此它适用实现Iterator接口的集合类。

6.5 泛型

自定义泛型类的语法格式:
[修饰符] class类名<类型形参1,类型形参2……类型形参n>{
//类的成员变量和成员方法
}

6.6 set集合

set集合是继承自collection集合的一个接口,与List集合不同的是Set集合中存储的元素无序且不允许重复,并且没有索引,因此无法使用普通for循环进行遍历。

一、HashSet集合

HashSet集合作为Set集合的一个实现类,它所存储的元素是无序且不重复的。

HashSet集合存储元素的过程

1.调用add()方法向HashSet集合中添加元素
2.调用hashCode()方法获取该元素的哈希值
3.根据哈希值计算元素存储位置
4.判断该位置是否已有元素

• 没有:将元素存入集合

• 已有:调用equals()方法判断两个元素是否相等
✔相等:舍弃该元素
✔不相等:存入元素

二、TreeSet集合

TreeSet集合是set集合的一个实现类,它是一种基于平衡二叉树实现的有序集合。

6.7 Map集合

一、Map集合简介

Map集合是Java中用于存储和操作键值对的数据结构,其中的每个元素都包含一个键对象、value,它们之间是一对一的映射关系。

二、HashMap集合

HashMap是Map集合的一个重要实现类,它的底层结构与HashSet类似,也是采用哈希表来存储元素。

遍历方法:

① 通过keySet()方法获取Map集合中所有键的集合,再通过get()方法获取每个键所对应的值。
② 将每个键值对看作一个对象;通过entrySet

更多推荐