JavaBasic5.0

Java StringBuffer 和StringBuilder

StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。

使用 StringBuffer 类对 StringBuffer 对象本身进行操作,而不是生成新的对象。需要对字符串进行修改推荐使用 StringBuffer。

StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。

由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。

StringBuffer 方法

  1. public StringBuffer append(String s)
    追加字符序列
  2. public StringBuffer reverse()
    反转代替字符序列
  3. public delete(int start, int end)
    移除此序列中的字符
  4. public insert(int offset, int i)
    将int 参数的字符串插入到此序列中
  5. insert(int offset,String str)
    将str参数的字符串插入到此序列
  6. replace(int start, int end, String str)
    给定字符串的替换
  7. int capacity()
    返回当前容量
  8. char charAt(int index)
    返回此序列中给定索引处的char值
  9. void ensureCapacity(int minimumCapacity)
    确保容量至少等于指定最小值
  10. void getChars(int srcBegin, int srcEnd, char[]dst, int dstBegin)

将字符序列复制到目标字符数组dst中
5. int indexOf(String str)
返回第一次出现的指定字符串在该字符串中的索引

  1. int indexOf(String str, int fromIndex)
    指定的索引处开始,返回第一次出现的指定字符串在该字符串中的索引
  2. int lastIndexOf(String str)
    字符串对象最后出现的位置
  3. int lastIndexOf(String str, int fromIndex)
    返回 String 对象中子字符串最后出现的位置
  4. int length()
    返回字符串长度
  5. void setCharAt(int index, char ch)
    将给定索引处的字符设置为 ch
  6. void setLength(int newLength)
    设置字符序列的长度
  7. CharSequence subSequence(int start, int end)
    返回一个新的字符序列,该字符序列是此序列的子序列
  8. String substring(int start)
    返回一个新的 String,它包含此字符序列当前所包含的字符子序列
  9. String substring(int start, int end)
    返回一个新的 String,它包含此序列当前所包含的字符子序列
  10. String toString()
    返回此序列中数据的字符串表示形式

Java 数组

Java数组存储固定大小相同数据类型的元素

声明数组变量

  1. dataType[] arrayRefVar; // 首选方法
  2. dateType arrayRefvar[];

创建数组

  1. arrayRefVar = new dataType[arraySize];

数组变量的声明和创建数组可以用一条语句完成

  1. dataType[] arrayRefVar = new dataType[arraySize];
  2. dataType[] arrRefVar = {value0, value1, ..., valuek};

For-Each 循环

加强循环类型,可以在不使用下标的情况下遍历数组

  1. for(type element: array){
  2. System.out.println(element);
  3. }

Arrays 类

数组静态的赋值、排序、比较、查找

  1. public static int binarySearch(Oject[] a, Object key)
    用二分查找算法在给定数组中搜索给定值的对象(Byte,Int,double等)。数组在调用前必须排序好的。如果查找值包含在数组中,则返回搜索键的索引;否则返回 (-(插入点) - 1)
  2. public static boolean equals(longs[] a, long[] a2)
    数据类型与元素均相等才相等
  3. public static void fill(int[] a, int val)
    将指定的 int 值分配给指定 int 型数组指定范围中的每个元素。同样的方法适用于所有的其他基本数据类型
  4. public static void sort(Object[] a)
    对指定对象数组根据其元素的自然顺序进行升序排列。同样的方法适用于所有的其他基本数据类型