ListView的addAll方法
2024-10-13 14:50:06
add是将传入的参数作为当前List中的一个Item存储,即使你传入一个List也只会另当前的List增加1个元素addAll是传入一个List,将此List中的所有元素加入到当前List中,也就是当前List会增加的元素个数为传入的List的大小。
1.add源代码:
//add源代码: public boolean add(E e) {
ensureCapacityInternal(size + 1);
elementData[size++] = e;
return true;
}
addAll源代码:
2.将Collection c内的数据插入ArrayList中
//addAll源代码: //将Collection c内的数据插入ArrayList中
public boolean addAll(Collection<? extends E> c) {
Object[] a = c.toArray();
int numNew = a.length;
ensureCapacityInternal(size + numNew); // Increments modCount
System.arraycopy(a, 0, elementData, size, numNew);
size += numNew;
return numNew != 0;
}
3.将Collection c中的数据插入到ArrayList的指定位置
//将Collection c中的数据插入到ArrayList的指定位置
public boolean addAll(int index, Collection<? extends E> c) {
rangeCheckForAdd(index); Object[] a = c.toArray();
int numNew = a.length;
ensureCapacityInternal(size + numNew); // Increments modCount int numMoved = size - index;
if (numMoved > 0)
System.arraycopy(elementData, index, elementData, index + numNew,
numMoved); System.arraycopy(a, 0, elementData, index, numNew);
size += numNew;
return numNew != 0;
}
使用时直接使用ArrayList的对象调用即可
ArrayList<News> newslist = mnewsdetail.data.news;//ArrayList对象 1.ArrayList<News> news = mnewsdetail.data.news;
newslist.addAll(news);//默认将news 的数据追加在newslist的后面
mnewsListAdapter.notifyDataSetChanged();//刷新列表 2.ArrayList<News> news = mnewsdetail.data.news;
newslist.addAll(0,news);//默认将news 的数据插入在newslist的0的位置上,
mnewsListAdapter.notifyDataSetChanged();//刷新列表
最新文章
- nexus 社区版3.0.2部署、访问
- VS2013问题与解决方法
- 5 HandlerIterator处理程序迭代器类——Live555源码阅读(一)基本组件类
- Python Standard Library 学习(一) -- Built-in Functions 内建函数
- 用实例给新手讲解RSA加密算法
- jail brak 获取当前安装app列表
- Composer 中国全量镜像(二)
- 《深入解剖Yii2框架》前言
- Java 10 的 10 个新特性,将彻底改变你写代码的方式!
- [java]static关键字的四种用法
- [luogu3388][割点]
- 3、pandas的loc和iloc数据筛选
- MATLAB:SMPD无法启动
- 用Redis Desktop Manager连接Redis(CentOS)
- SpringBoot 解决ModelAndView强转Json问题
- 华为LiteOS系统使用-任务调度函数-第一篇
- ansible应用
- 线段树 区间更新(更新区间[x,y]的值,再求任意区间[x,y]的和)
- 图解HTTP总结(6)——HTTP首部
- linux中sed工具的使用