code: public static <T> void remove(List<T> list, List<Integer> removes) {
          // 不是ArrayList的先转换为ArrayList
          if (!(list instanceof ArrayList)) {
              list = new ArrayList<>(list);
          }
          int flag = 0;
          // 删除
          for (int i = 0; i < removes.size(); i++) {
              if (flag < removes.get(i)) {
                  flag = removes.get(i);
                  list.remove(flag - i);
              } else {
                  throw new CollectionException("删除集合中多个元素时指针应该按照从小到大的顺序排序");
              }
          }
      }
docs: 删除集合中指定位置的数据
  
  @param list    集合
  @param removes 指定位置（需要从小到大排序）
  @param <T>     List的泛型