src/main/java/me/zzp/util/Seq.java
public static int[] assignAt(int[] a, Integer[] indexes, int... values) {
    if (indexes.length != values.length) {
      throw new IllegalArgumentException(String.format("index.length(%d) != values.length(%d)", indexes.length, values.length));
    }
    for (int i = 0; i < indexes.length; i++) {
      int index = indexes[i];
      if (0 <= index && index < a.length) {
        a[index] = values[i];
      } else if (-a.length <= index && index < 0) {
        a[a.length + index] = values[i];
      } else {
        throw new ArrayIndexOutOfBoundsException(index);
      }
    }
    return a;
  }
public static int[] assignAt(int[] a, Integer[] indexes, int... values) {
    if (indexes.length != values.length) {
      throw new IllegalArgumentException(String.format("index.length(%d) != values.length(%d)", indexes.length, values.length));
    }
    for (int i = 0; i < indexes.length; i++) {
      int index = indexes[i];
      if (0 <= index && index < a.length) {
        a[index] = values[i];
      } else if (-a.length <= index && index < 0) {
        a[a.length + index] = values[i];
      } else {
        throw new ArrayIndexOutOfBoundsException(index);
      }
    }
    return a;
  }
同时给int数组中多个位置同时赋值。

@param a 给定int数组。
@param indexes 待赋值的位置下标。
@param values 与下标一一对应的int值。
@return 返回赋值后的新int数组。