Arrays工具类和String

1. Arrays
操作数组的工具类。

   static String toString(int[] a)              返回指定数组内容的字符串表示形式。
   static boolean equals(int[] a, int[] a2)     如果两个指定的int数组彼此 相等 ,则返回 true 。
   static boolean equals(int[] a, int aFromIndex, int aToIndex, int[] b, int bFromIndex, int bToIndex)  
                                                如果指定范围内的两个指定的int数组彼此 相等 ,则返回true。
   static String deepToString(Object[] a)       返回指定数组的“深层内容”的字符串表示形式。
   static boolean deepEquals(Object[] a1, Object[] a2)     
                                                如果两个指定的数组彼此 深度相等 ,则返回 true 。
   static int[] copyOf(int[] original, int newLength) 
                                                使用零复制指定的数组,截断或填充(如有必要),以使副本具有指定的长度。
            original : 原数组
            newLength : 新数组的长度

            新数组长度=原数组长度  ===>拷贝
            新数组长度<原数组长度  ===>截取
            新数组长度>原数组长度  ===>填充
            默认从索引为0的位置开始拷贝
            新数组,数据的拷贝是copyOf方法内部实现
   static int[] copyOfRange(int[] original, int from, int to) 
                                                 将指定数组的指定范围复制到新数组中。
            新数组是由copyOfRange方法内部创建
   static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 
                                                 将指定源数组中的数组从指定位置开始复制到目标数组的指定位置。
            目的地新数组由自己指定
   static void sort(int[] a)                     将指定的数组按升序排序。
   static void sort(int[] a, int fromIndex, int toIndex) 
                                                 按升序对数组的指定范围进行排序。
   static int binarySearch(int[] a, int key)     使用二进制搜索算法在指定的int数组中搜索指定的值。如果找不到返回 -插入点-1。
   static void fill(int[] a, int val)            将指定的int值分配给指定的int数组的每个元素。
   static void fill(int[] a, int fromIndex, int toIndex, int val) 
                                                 将指定的int值分配给指定的int数组的指定范围的每个元素。

2. String

       String            不可变长的字符序列
       StringBuffer      可变长的字符序列,同步的|线程安全的
       StringBuilder     可变长的字符序列,不同步|线程不安全,相对效率高
       执行效率: StringBuilder > StringBuffer >  String
       String()                                初始化新创建的 String对象,使其表示空字符序列。
       String(String original)                 初始化新创建的String对象,使其表示与参数相同的字符序列。
       String(char[] value)                    分配新的 String ,使其表示当前包含在字符数组参数中的字符序列。
       String(char[] value, int offset, int count)
                                               分配一个新的 String ,其中包含字符数组参数的子数组中的字符。
       String(byte[] bytes)]                   通过使用平台的默认字符集解码指定的字节数组构造新的 String 。
       String(byte[] bytes, int offset, int length)
                                               通过使用平台的默认字符集解码指定的字节子阵列来构造新的 String 。
       String(StringBuffer buffer)             分配一个新字符串,其中包含当前包含在字符串缓冲区参数中的字符序列。
       String(StringBuilder builder)           分配一个新字符串,其中包含当前包含在字符串构建器参数中的字符序列。

3. StringBuilder 与 StringBuffer

     StringBuffer : 线程安全的可变字符序列。
     StringBuilder :一个可变的字符序列。
     此类提供与StringBuffer兼容的API,继承相同的父类AbstractStringBuilder,但不保证同步|线程不安全。
     此类设计用作StringBuffer替代品,用于单个线程使用字符串缓冲区的位置(通常情况下)大量操作字符串。
     在可能的情况下,建议使用此类优先于StringBuffer因为在大多数实现中它会更快。
 注意: 以后某些结构底层使用数组存储数据,一般会存在默认的初始容量,减少扩容拷贝的次数,提高效率.
 String , StringBuilder , StringBuffer 区别:
      共同点:
            1.都是字符序列,表示子串
            2.底层都是字节数组(老版本jdk字符数组)
      不同点 :
            1.String 不可变长字符序列
              StringBuffer|StringBuilder 可变长字符序列
            2.执行效率:
                StringBuilder > StringBuffer > String
            3.同步方面:
                StringBuilder 线程不安全
                StringBuffer 同步
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值