队列的移除一般都是使用的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个