1.4.3 Java数据结构章 Buffer

两种buffer简介

  1. StringBuffer是线程安全的, 但是效率没有StringBuilder高, StringBuffer占用率高
  2. string类容不可修改因为是private修饰,buffer可以改内容

初始化

StringBuffer s=new StringBuffer("hello");
StringBuilder s=new StringBuilder("hello");

插入

在offset位置插入:八种基类类型 & String类型 & Object类型数据

StringBuff insert(int offset, String str)
s.insert(1,"abc"); //下标从0开始

尾插

在尾部追加,相当于String的+=,可以追加:boolean、char、char[]、 double、float、int、long、Object、String、StringBuff的变量

StringBuff append(String str)

获取元素

获取index位置的字符

char charAt(int index) 

字符串长度

int length() 

总容量

获取底层保存字符串空间总的大小

int capacity()

扩容

void ensureCapacity(int mininmumCapacity)

更改下标元素

将index位置的字符设置为ch

void setCharAt(int index,char ch)

String第一次出现的位置

返回str第一次出现的位置

int indexOf(String str)

从fromIndex位置开始查找str第一次出现的位置

int indexOf(String str, int fromIndex)

String最后一次出现str的位置

返回最后一次出现str的位置

int lastIndexOf(String str) 

从fromIndex位置开始找str最后一次出现的位置

int lastIndexOf(String str,int fromIndex)

删除

删除index位置字符

StringBuffer deleteCharAt(int index)

删除[start, end)区间内的字符

StringBuffer delete(int start, int end)
s.delete(1,3); //左闭右开

尾删

StringBuilder sb = new StringBuilder();
sb.deleteCharAt(sb.length()-1);

翻转

StringBuffer reverse()
    
s.reverse();

截断

从start开始一直到末尾的字符以String的方式返回

String substring(int start)

将[start, end)范围内的字符以String的方式返回

String substring(int start,int end)

转换

StringBuilder 变String 利用StringBuilder的构造函数或者append(); 还可以调用toString()函数

将所有字符按照String的方式返回

String toString() 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_Ap0stoL

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值