Java 字符串算法常用方法(持续更新)

Posted jiangxiaobin1996

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 字符串算法常用方法(持续更新)相关的知识,希望对你有一定的参考价值。

String,StringBuilder,StringBuffer

Java中的String,StringBuilder,StringBuffer三者的区别

1. 在运行速度上:StringBuilder > StringBuffer > String
原因:String 为字符串常量,而StringBuilder和StringBuffer是字符串变量,即String对象创建之后该对象是不可更改的,但后两者的对象是变量,是可以更改的。例如:

String str = "abc";
System.out.println(str);
Str = str + "de";
System.out.println(str);

在第三行中,str好像是被修改了,其实不然,JVM在第三行又创建了一个新的对象也命名为str,然后把原来对象的str的值和"de"加起来赋给新的str,而原来的str就会被JVM垃圾回收机制给回收掉,所以这里的str实际上并没有被更改。

2. 在线程安全上,StringBuilder是线程不安全的,而StringBuffer是线程安全的
如果一个StringBuffer对象在字符串缓冲区被多个线程使用时,StringBuffer中很多方法可以带有synchronized关键词,所以可以保证线程的安全,但是StringBuilder的方法则没有该关键词,所以不能保证线程安全。所以如果使用多线程则使用StringBuffer,但在单线程中建议使用StringBuilder速度更快些。

 

StringBuilder的常用方法:
1. 创建一个StringBuilder对象: StringBuilder str = new StringBuilder();
                StringBuilder str = new StringBuilder(string);
2. append:字符串的连接 str.append("aaa");
3. toString:str.toString();
4. setCharAt(int I, char c):第i位置替换成c
5. Insert(int I, string str):在指定位置插入字符或字符串
6. delete(int start, int end):删除起始位置(含)到结束位置(不含)之间的字符串
7. Replace(int start, int end, string str):从start到end用str代替

StringBuffer的常用方法:
? 添加功能 
  public StringBuffer append(String str):可以把任意类型数据添加到字符串缓冲区里面,并返回字符串缓冲区本身
  public StringBuffer insert(int offset,String str):在指定位置把任意类型的数据插入到字符串缓冲区里面,并返回字符串缓冲区本身
? 删除功能 
  public StringBuffer deleteCharAt(int index):删除指定位置的字符,并返回本身
  public StringBuffer delete(int start,int end):删除从指定位置开始指定位置结束的内容,并返回本身
? 替换功能 
  public StringBuffer replace(int start,int end,String str):从start开始到end用str替换
? 反转功能 
  public StringBuffer reverse()
? 截取功能 
  public String substring(int start)
  public String substring(int start,int end)

 
























以上是关于Java 字符串算法常用方法(持续更新)的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server 常用函数使用方法(持续更新)

回归 | js实用代码片段的封装与总结(持续更新中...)

片段(Java) | 机试题+算法思路+考点+代码解析 2023

开发常用的linux命令(持续更新)

IDEA 常用的小技巧汇总,JAVA 新手上路必备,快上车!(持续更新)

关于String字符串的常用操作。(持续更新中)