Android(Java):总结ArrayList用法
2013-10-17 16:34
337 查看
问题:
list remove会报异常 为什么会报异常,其实想想也不难发现。
ArrayList底层是数组实现的,假设现在有a[0]=1,a[1]=2,a[2]=3
用for循环遍历的时候
for(int i=0;i<list.size();i++){
}
假设遍历到第二个数 也就是a[1]的时候,删除了a[1] ArrayList的底层是将a[1]后面的数向前移动一个位置,由于下标改了 i没改 这样就会发生一些问题 所以就出现在遍历的时候改变整个数组 就干脆抛异常了
解决方法:
1.倒序删
2.用迭代器删
3.用一个临时的tmpList保存要删的东东,for完一起removeAll
list remove会报异常 为什么会报异常,其实想想也不难发现。
ArrayList底层是数组实现的,假设现在有a[0]=1,a[1]=2,a[2]=3
用for循环遍历的时候
for(int i=0;i<list.size();i++){
}
假设遍历到第二个数 也就是a[1]的时候,删除了a[1] ArrayList的底层是将a[1]后面的数向前移动一个位置,由于下标改了 i没改 这样就会发生一些问题 所以就出现在遍历的时候改变整个数组 就干脆抛异常了
解决方法:
1.倒序删
2.用迭代器删
3.用一个临时的tmpList保存要删的东东,for完一起removeAll
相关文章推荐
- Android(java)学习笔记134:Handler用法总结和秒表案例
- Java中访问权限修饰符public protected 缺省默认 private的用法总结(转)
- Android之Adapter用法总结
- Java 中 Vector、ArrayList、List 使用 总结
- Android之Adapter用法总结 http://www.cnblogs.com/devinzhang/archive/2012/01/20/2328334.html
- Android:JAVA语言extends和implements用法的学习
- Android端、java端连接到SQL Server ,使用 jdbc 和 jtds ,总结
- android中handler用法总结
- Android 基础总结:(九)Content Provider用法和理解
- Android之Handler用法总结
- Android之Handler用法总结
- Java入门系列:实例讲解ArrayList用法
- java4Android(20):类集框架->Set/Map/List->ArrayList简单实例
- Android之Handler用法总结
- Android之Handler用法总结
- Android之Adapter用法总结
- java中hashCode方法与equals方法的用法总结
- java arrayList遍历的四种方法及Java中ArrayList类的用法
- Java中this和super的用法总结
- Android(java) 关于时间的操作总结