java List.add操作可以指定位置,addAll也可以指定;

使用:

public class Test02 {

    public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("str1");
list.add("str2");
list.add(1,"str222");
for (int i = 0; i < list.size(); i++) {
CusPrint.print(list.get(i));
}
} }

方法源码:

    public void add(int index, E element) {
rangeCheckForAdd(index); ensureCapacityInternal(size + 1); // Increments modCount!!
System.arraycopy(elementData, index, elementData, index + 1,
size - index);
elementData[index] = element;
size++;
}

注意对index做了判断;

    private void rangeCheckForAdd(int index) {
if (index > size || index < 0)
throw new IndexOutOfBoundsException(outOfBoundsMsg(index));
}

最新文章

  1. Spark MLlib Data Type
  2. spring 初始化之后执行的方法
  3. 做java工作整整1年了,看到了大牛的奋斗历程,我感觉自己又有目标了
  4. Android 开源库和项目
  5. C#多线程之二:ManualResetEvent和AutoResetEvent
  6. PHP单元测试工具PHPUnit初体验
  7. HDOJ(1000) A + B Problem
  8. Mina源码阅读笔记(七)—Mina的拦截器FilterChain
  9. Eclipse常见设置
  10. Python+Selenium+Unittest框架使用——Selenium——定位元素(二)
  11. javascript小实例,阻止浏览器默认行为,真的能阻止吗?支持IE和标准浏览器的阻止默认行为的方法
  12. React 特性剪辑(版本 16.0 ~ 16.9)
  13. cocosCreator 新版本的动作函数API的应用
  14. UVALive 7501 Business Cycle(二分)题解
  15. 区分action, service和dao
  16. SharePoint Online 设置网站集
  17. 服务器端控件同html控件的区别
  18. Oracle入门第六天(中)——SET运算符(交并差集)
  19. linux 进程信号集合 sigset_t
  20. Edit Control响应全选(Ctrl+A)

热门文章

  1. 如何用 CSS 绘制各种形状
  2. OpenCV3.3安装教程
  3. chmod - 改变文件的访问权限
  4. shell高级用法
  5. 获取windows版本号
  6. Jupyter IPython dead kernel and do not restart
  7. PLSQL连接Oracle 报错ORA-12154:TNS:无法解析指定的连接标识符
  8. 2019浙师大校赛(浙大命题)(upc复现赛)总结
  9. 笔试算法题(02):N阶阶乘 &amp; 双向循环链表实现
  10. Map集合遍历的方式(以HashMap为例)