巧用ArrayList实现StringBuffer的几个方法!

本文详细介绍了StringBuffer类的使用方法,包括长度、容量的概念,以及如何通过append、delete、insert和reverse方法操作字符串。同时,提供了一个使用ArrayList实现StringBuffer功能的示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

StringBuffer作为可变字符串,和String相似维护了多个数组,但是StringBuffer又比固定不变的String胜上一筹的是它的长度取决你每次操作StringBuffer的空间。初始情况下,StringBuffer会有一个初始化的长度,但随着你的内容不断追加,它的长度也自然而然的随之改变。

StringBuffer sb=new StringBuffer();
		System.out.println(sb.capacity());
//这里不用length方法,因为length在StringBuffer初始长度情况下只为0

在这里插入图片描述
那我们现在先了解一下StringBuffer的几个常用的方法!

System.out.println("sb的长度是"+sb.length());
System.out.println("sb的总空间是"+sb.capacity());
System.out.println("在字符串后面追加内容JavaObject:"+sb.append("JavaObject"));
System.out.println("删除Java:"+sb.delete(10, 14));//左包含,又不包含
System.out.println("追加Java在HellowWorld后面:"+sb.insert(10, "Java"));//不包含
System.out.println("反转:"+sb.reverse());

我用ArrayList实现了StringBuffer的反转、追加、删除、索引方法,直接放源码。

public class T1 {
	public ArrayList list=new ArrayList();
	public T1(String s){
		char [] c=new char[s.length()];
		c=s.toCharArray();
		for(int i=0;i<s.length();i++){
			list.add(c[i]);
		}}
	public String toString(){
		String str=list.toString();
		str=str.replace("[","");
		str=str.replace("]","");
		str=str.replace(",","");
		str=str.replace(" ","");
		return str;
}
	/**
	 * 对自定义字符串进行追加
	 * @param str
	 * @return
	 */
	public String add(String str){
		list.add(str);
		String str1=list.toString();
		str1=str.replace("[","");
		str1=str1.replace("]","");
		str1=str1.replace(",","");
		str1=str1.replace(" ","");
		return str1;
	}
	/*
	 * 删除特定下标长度中的内容
	 * 	用了ArrayList的删除方法													
	 * 
	 */
	public void delete(int star,int end){
		for(int i=star;i<end;i++)
{
		list.remove(star);
}}
	/*
	 * 查找特定下标的内容
	 */
		public void chazhao(int star,int end){
			for(int i=star;i<end;i++)
	{
			list.remove(star);
	}
}
	public static void main(String[] args) {
		T1 t=new T1("Hello World");
		t.delete(0, 2);
		System.out.println(t);
	}
	
}

在实现的时候,可以发现频繁出现了去[ ]和,还有空格的方法,这是String的方法,由于将ArrayList转成字符串的时候输出就会发现是一个数组的格式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值