队列的移除一般都是使用的remov();都可以移除的,但是在昨天做线程移除的时候出现了点问题,没有将遍历出来的全部移除, 代码如下;
//
package com.Thread0715.com; import java.util.ArrayList; public class ThreadDemo { public static void main(String[] args) { //创建队列 ArrayList<String> Demo = new ArrayList<String>(); // LinkedBlockingQueue<String> link = new LinkedBlockingQueue<String>(); //添加8个数 for (int i = 0; i < 8; i++) { Demo.add("元素" + i); } //输出下载队列中的数, 应该是8个 System.out.println(">>>>..." + Demo.size());
移除队列中的数
//使用for将遍历出来的数移除队列 for (int i = 0; i < Demo.size(); i++) { String num = Demo.remove(i); //输出移除队列中的数 System.out.println(("移除的个数"+ num); }
使用for来遍历队列中的个数,和大小
//输出队列的大小 System.out.println(">>>>..." + Demo.size()); //打印队列中地址的个数 System.out.println("<<<<<<" + Demo.toString()); } }
输出结果:
>>>>...8
移除的个数 :元素0
移除的个数 :元素2
移除的个数 :元素4
移除的个数 :元素6
>>>>...4
<<<<<<[元素1, 元素3, 元素5, 元素7]
运行的结果:队列中值移除了4个元素,为什么会出现这个原因:
//使用for将遍历出来的数移除队列
for (int i = 0; i < Demo.size(); i++) { String num = Demo.remove(i); //输出移除队列中的数 System.out.println(("移除的个数"+ num); }
每次移除一个后+1,所以只移除4个