当前位置 : 主页 > 网络编程 > 其它编程 >

Java探索之旅(10)——数组线性表ArrayList和字符串生成器StringBuffer/StringBuilder

来源:互联网 收集:自由互联 发布时间:2023-07-02
1.数组线性表ArrayList数组一旦定义则不可改变大小。ArrayList可以不限定个数的存储对象。添加插入删除查找比较数组更加 1.数组线性表ArrayList     数组一旦定义则不可改变大小。ArrayLi
1.数组线性表ArrayList数组一旦定义则不可改变大小。ArrayList可以不限定个数的存储对象。添加插入删除查找比较数组更加

1.数组线性表ArrayList

    数组一旦定义则不可改变大小。ArrayList可以不限定个数的存储对象。添加插入删除查找比较数组更加容易。可以直接使用引用类型变量名输出相当于toString()。输出一个数组([,,,,,,])数组中元素为对应标号存储元素的toString[]。

    数组线性表和数组的区别总结如下

public class TestArrayList {public static void main(String[] args){java.util.ArrayList PersonListnew java.util.ArrayList();PersonList.add(new Person("张三","湖北宜昌"));PersonList.add(new Person("李四","广东东莞"));PersonList.add(1,new Person("王五","湖南永州"));System.out.println((PersonList.get(1)).toString());System.out.println(PersonList);//使用引用类型变量名称}}class Person {protected String name;protected String address;Person(){this(null,null);}Person(String a,String b){namea;addressb;}public String toString(){return name":"address;}}

2.字符串生成器类StringBuilder/StringBuffer

       只要使用String的地方都可以使用两者。区别于String一旦确定无法更改StringBuffer/StringBuilder可以灵活的(指定位置)增加删除插入设置内容。2者构造方法类似一般单任务访问使用StringBuilder多任务访问使用StringBuffer.

StringBuilder sb1new StringBuilder();//默认16的字符串生成器StringBuffer sb2new StringBuffer(20);//指定容量的字符串生成器StringBuilder sb3new StringBuilder(new String("ABCDEF"));//指定字符串的字符串生成器

           不同于String字符串生成器长度属性包括容量capacity()和长度length()前者表示能够存储的长度后者表示现存的字符个数,空闲位置设置为null。JVM采用生成器容量自动增加机制。可以使用trimToSize()减少实际存储所需内存。

   以下成员函数均完成修改源生成器内容返回生成器引用。     ❶字符追加函数append(data)/append(data,int start,int end)。        完成追加或者部分追加字符数组或追加基本数据类型(charbooleanbyte,short,int,long,float,double)和String至生成器末尾     ❷字符删除函数delete(int start,int end) 和deleteCharAt(int)         删除一段字符或者指定位置字符     ❸字符插入函数insert()        类似于append()但最前面添加int参数表征插入位置     ❹整段替换函数和重新设置指定位置字符         replace(int start,int end,String s)。特定字符串s进行字符串段替换                    setCharAt(int,char ch) 重新设置指定位置字符      ❺完全颠倒顺序reverse()和获取子串函数substring(int)/subString(int,int)

 判断输入字符是不是回文串忽略非数字和字母的字符

import java.util.Scanner;public class StudyString {private static Scanner input;public static void main(String[] args) { System.out.println("输入待检测字符");Scanner inputnew Scanner(System.in);StringBuffer sbfilter(input.nextLine());if((sb.toString()).equals((sb.reverse()).toString()))System.out.println("是回文串");elseSystem.out.println("不是回文串");}public static StringBuffer filter(String s)//滤去非字母或者数字的字符{StringBuffer sbnew StringBuffer();for(int i0;i

上一篇:linux的用户,群组和其他用户
下一篇:没有了
网友评论