Java中ArrayList使用
ArrayList的使用
- 注意事项
- new一个ArrayList
- curd
- add(object)
- add(index, object)
- set(index, object)
- get(index)
- remove(index)
- 循环
size()
获得数组的大小- 迭代器
- 在循环中删除
- ArrayList与数组的相互转换
- ArrayList 的内部实现
- 数据结构:动态数组
- 修改次数:modCount
- add: 容量不够,就通过new 数组扩容,扩容,调用底层的方法进行copy。
- 当插入元素时,copy 发生了两次,一次是原封不动的copy,一次是数组内部前面把后面的覆盖性的copy
- remove: copy 后置最后一个元素为 null,防止内存泄漏
- clear: 全部置null
- 线程不安全
注意事项
- 使用ArrayList,要
import java.util.ArrayList
- 使用
get(index)
来获取元素,而不是使用arraylist[index]
来获取元素 - 获取最后一个元素不能用
get(-1)
,就用get(arraylist.size() -1)
- 获取长度用
arraylist.size()
,不是arraylist.length
使用样例
import java.util.ArrayList; import java.util.Iterator; public class test { public static void main(String[] args) { System.out.println("Hello World"); ArrayList<String> strings = new ArrayList<String>(); strings.add("Hello"); // creates a new element in the list strings.add("World"); strings.set(0, "Hell"); // update the element at index 0 System.out.println(strings.get(0)); // use "get()" to get the element at index 0 strings.remove(0); // remove the element at index 0 for (String s : strings) { System.out.println(s); } Iterator<String> it = strings.iterator(); while (it.hasNext()) { String s = it.next(); // 指向下一个对象 if (s.equals("Hell")) { it.remove(); // 移除当前对象,再指向下一个对象 } } System.out.println("----"); for (String s : strings) { System.out.println(s); } } }
相互转换
Java中ArrayList、Integer[]和int[]的相互转换
内部实现
如果您有任何关于文章的建议,欢迎评论或在 GitHub 提 PR
作者:dutrmp19
本文为作者原创,转载请在 文章开头 注明出处:https://www.cnblogs.com/dutrmp19/p/15911495.html
遵循 CC 4.0 BY-SA 版权协议
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本