模块 jmc.utils
程序包 com.jmc.array

类 Array<T>

java.lang.Object
com.jmc.array.Array<T>
类型参数:
T - 数组元素类型
所有已实现的接口:
Iterable<T>

public abstract class Array<T> extends Object implements Iterable<T>
通用数组类


 特点:
   1. 可配合泛型作为任意类型数组传入方法(特别指基本数据类型)
      从而对所有类型的数组进行通用操作。(比如通用swap)
   2. 绑定数组后所有操作对原数组都有效。

 效率:
   仅在获取(包括遍历)和设置值时对基本数据类型进行包装。
   基本类型数组访问速度慢10倍左右,对象数组访问速度不变。
 
从以下版本开始:
1.1
API Note:

 <T> void swap(Array<T> arr, int idx1, int idx2) {
     T t = arr.get(idx1);
     arr.set(idx1, arr.get(idx2));
     arr.set(idx2, t);
 }

 int[] a = { 1, 2, 3, 4, 5 };
 var arr = Array.of(a);

 // 交换后原数组a和通用数组arr都是:[ 1, 4, 3, 2, 5 ]
 swap(arr, 1, 3);

 
  • 方法详细资料

    • get

      public abstract T get(int pos)
      获得数组中指定下标的元素
      参数:
      pos - 下标
      返回:
      对应下标的元素
    • set

      public abstract void set(int pos, T t)
      在指定下标处插入元素
      参数:
      pos - 下标
      t - 要插入的元素
    • len

      public abstract int len()
      返回数组长度
      返回:
      数组长度
    • toArray

      public abstract <Arr> Arr toArray()
      获得原来的数组
      类型参数:
      Arr - 数组类型
      返回:
      原来的数组
    • toString

      public String toString()
      把通用数组转化成字符串
      覆盖:
      toString 在类中 Object
      返回:
      结果字符串
      从以下版本开始:
      1.8
    • of

      public static Array<Byte> of(byte... a)
      返回通用数组
      参数:
      a - byte类型数组
      返回:
      通用数组
    • of

      public static Array<Character> of(char... a)
      返回通用数组
      参数:
      a - char类型数组
      返回:
      通用数组
    • of

      public static Array<Boolean> of(boolean... a)
      返回通用数组
      参数:
      a - boolean类型数组
      返回:
      通用数组
    • of

      public static Array<Short> of(short... a)
      返回通用数组
      参数:
      a - short类型数组
      返回:
      通用数组
    • of

      public static Array<Integer> of(int... a)
      返回通用数组
      参数:
      a - int类型数组
      返回:
      通用数组
    • of

      public static Array<Long> of(long... a)
      返回通用数组
      参数:
      a - long类型数组
      返回:
      通用数组
    • of

      public static Array<Float> of(float... a)
      返回通用数组
      参数:
      a - float类型数组
      返回:
      通用数组
    • of

      public static Array<Double> of(double... a)
      返回通用数组
      参数:
      a - double类型数组
      返回:
      通用数组
    • of

      public static <T> Array<T> of(T[] a)
      返回通用数组
      类型参数:
      T - 数组元素类型
      参数:
      a - T类型数组
      返回:
      通用数组