正则表达式与集合

Posted lbstars

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式与集合相关的知识,希望对你有一定的参考价值。

正则表达式:
[]:匹配[]中的任意字符
{3,10}:前一个规则可以重复的次数,最少三次最多十次
{3,}:前一个规则最少出现三次,没有上限限制
{3}:前一个规则只能出现三次,不能多也不能少
|:或者 (abc|123):abc、123; abc|123 :abc23、ab123.
匹配汉字:\u4e00-\u9fa5
+:等价于{1,} 最少出现一次,没有上限
*:等价于{0,} 可以一次不出现,出现的话可以出现多次,没有上限
. : 任意字符
?:等价于{0,1} 可以不出现,要出现只能出现一次
\d(\D):等价于[0-9]匹配数字 \D 非数字
\w(\W):等价于[a-zA-Z0-9_] 匹配合法标识符 \W非合法标识符
\s(\S):匹配空格和回车 \S为非空格和回车


字符串具有长度不可改变的特性,当对字符串做添加、删除、替换时,不会更改字符串的内容,而是重新产生一个新的字符串对象

StringBuffer是缓冲区的对象,当对StringBuffer进行数据的添加、删除、替换时不会产生新对象,直接更改stringBuffer的内容,所以StringBuffer可以解决String的不足

如果对字符串中的内容经常进行操作,特别是内容要体现时,那么用StringBuffer,如果最后需要String,那么StringBuffer中的toString方法即可。
StringBuffer会在缓冲区开辟一个空间,当对StringBuffer的内容做连接、替换、删除时不会产生新对象
StringBuider是线程不安全的,StringBuffer是线程安全的
性能:StringBuider》StringBuffer》String


集合的特点:元素类型可以不同,集合长度可变,空间不固定
是java中对一些数据结构和算法进行了封装即集合,集合也是一种对象,用于存储、检索、操作和传输对象
JCF(java collections framework)集合框架

集合和数组的差别:
1、数组创建后,长度不可改变,集合的长度会随着元素的增加自动变长
2、数组中的元素只能存放单一数据类型,集合中的元素可以存放不同类型
3、集合中只能存放对象的引用,而数组中可以存放基本类型,也可以存放引用类型数据
4、集合中的算法比数组更加丰富

集合的API结构:
collection是list和set的父接口,另外还有一个map接口
list:线性,元素可以重复
set:元素不可以重复
map:键值对,一个元素可以存放两个对象,其中键对象不可重复

list<String>称为泛型,表示在集合中只能存放指定的类型,不是该类型的对象无法加入集合。

标准java Bean的规范
1、必须提共有的无参构造方法
2、私有的属性加上一个get、set方法通过get、set方法对属性进行访问和修改
3、需要实现序列化接口
求长度
数组:lenght属性
字符串:lenght方法
集合:size方法

list集合有三个常用的实现类
ArrayList:底层部分使用数组实现,遍历速度快,中间插入和删除元素速度慢,线程不安全
Vector:底层部分同样使用数组实现,线程安全的类
LinkedList:采用双向链表实现,元素的空间不连续。每个元素除了存放数据之外,还要存放上一个和下一个元素的地址,遍历速度慢,中间插入、删除元素速度快。

HashMap和HashTable的区别和联系
1、HashMap和HashTable都是Map接口的实现类,一个元素可以存放两个对象
2、HashMap允许存放空键和空值,而HashTable不允许存放空键和空值
3、HashMap线程不安全HashTable线程安全

以上是关于正则表达式与集合的主要内容,如果未能解决你的问题,请参考以下文章

Java正则表达式基础语法

Java中的日历类/集合类/数学类/正则表达式/数组工具类等的常用方法与基本功能

使用正则表达式进行搜索

常用正则表达式集合

练习正则表达式

正则表达式