AI智能
改变未来

正则表达式,StringBuilder,包装类,集合


正则表达式

字符串的一些排列规则

常用标识

[]:一个字符的位置
数量词:
+: 出现一次或多次
?: 一次或者0次
*****: 0次或者多次
{n}: 刚好n次
{n,m}: n~m次
{n,}: 至少n次
预定义字符类:
.: 所有字符
\\d: 数字 [0-9]
\\s: 空白字符:[ \\t\\n\\x0B\\f\\r]
\\w: 单词字符:[a-zA-Z_0-9]
\\D: 非数字 [ ^0-9 ]
有特殊意义的字符
. \\ + ? * –:表示字符本身, 需要 \\字符

API

matches(String regex)

是否有匹配regex的一段字符串,如果在表达式中有^$,则为整个字符串是否匹配

replaceAll(String regex, String newStr)

将匹配的字符串修改为newStr。

split(String regex)

按照regex分割字符串,输出字符串数组。

StringBuilder

构造方法

StringBuilder sb = new StringBuilder()
StringBuilder sb = new StringBuilder(String)

API

append(Object o)

在字符串末尾追加新的内容

delete(int start, int end)

删除指定下标的字符串

replace(int start, int end, String replacement)

修改下标从start开始到end的字符串为replacement

insert(int index, String str)

在下标处插入str

reverse()

反转字符串。

包装类

就是对基本数据类型做了封装。
byte -> Byte
short -> Short
int -> Integer
long -> Long
double -> Double
float -> Float
char -> Character
boolean -> Boolean

所有的数值的包装类都拥有统一的父类: Number
所有的包装类, 都是 final 类

须知

1.基本数据类型和包装类型之间可以直接转换
2.包装类型比基本数据类型多表示一个null值
3.包装类型除了可以直接赋值, 还可以new对象
4.字符串 可以转换成 包装类型/基本数据类型
Integer/int i = Integer.valueOf(“12”);
5.i1 = i; // 等同于: i1 = Integer.valueOf(i);//自动装箱
i = i1; // 等同于: i = i1.intValue();//自动拆箱
6.整数类型, 类中定义了最大值和最小值字段
7.Integer有常量池:-128~127。
8.Integer.toBinaryString(): 将整数转换成二进制的字符串形式
9.Integer.parseInt(“12a”, 16): 将字符串以16进制方式转换成数字

集合

Collection< E >

API

add(E)

添加元素;

remove(E)

原理: 遍历集合, 将每一个元素.equals(o)
然后移除指定元素;

contains(E)

是否包含指定元素;

isEmpty()

是否为空;

clear()

清空集合;

iterator()

迭代器;
使用:
Iterator it = col.iterator();
while (it.hasNext()) {
String str = it.next();
System.out.println(str);
it.remove();(移除迭代器迭代的最后一个元素,即当前元素)
}
迭代器的简化:forEach
for(每一次迭代出来的元素临时变量 : 要迭代的集合/数组) {
循环体
}
注意: forEach只能遍历元素使用, 不能迭代移除

addAll(Collection)

添加集合Collection内所有元素;

containsAll(Collection)

是否包含集合Collection内所有元素;

retainAll(Collection)

仅保留集合Collection中存在的元素(交集);

removeAll(Collection)

移除集合Collection中的全部元素;

toArray()

将集合转换为数组。
Object[] toArray():无参,返回值类型永远都是Object[],和泛型无关
T[] toArray(T[]):参数:一个具体类型的数组, 作用只是为了提供类型

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » 正则表达式,StringBuilder,包装类,集合