ArrayList根据条件+for循环批量删除的方法
编程技术  /  houtizong 发布于 3年前   97
for(Obj o:list){ if(o.createTime-currentT>xxx){ list.remove(o);}}
public boolean remove(Object o) { if (o == null) { for (int index = 0; index < size; index++) if (elementData[index] == null) { fastRemove(index); return true; } } else { for (int index = 0; index < size; index++) if (o.equals(elementData[index])) { fastRemove(index); return true; } } return false; }
private void fastRemove(int index) { modCount++; int numMoved = size - index - 1; if (numMoved > 0) System.arraycopy(elementData, index+1, elementData, index, numMoved); elementData[--size] = null; // Let gc do its work }
int arr1[] ={0,1,2,3,4,5};System.arraycopy(arr1, 4, arr1, 3, 2);System.out.println("array1= ");System.out.println(arr1[0]+" ");System.out.println(arr1[1]+" ");System.out.println(arr1[2]+" ");System.out.println(arr1[3]+" ");System.out.println(arr1[4]+" ");System.out.println(arr1[5]+" ");//0 1 2 4 5 5 这里把3删除了,把4和5向左移动了。elementData[--size]=null在这里就相当于把最后一个5删除了。
List<String> list=new ArrayList<String>();list.add("hello");list.add("world1");list.add("world2");list.add("world3");list.add("world4");for(Iterator<String>it=list.iterator();it.hasNext();){String s=(it.next());System.out.println(s);it.remove();}System.out.println(list);
请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成
网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];
文章归档
文章标签
友情链接