队列中数据的移除问题

编程技术  /  houtizong 发布于 3年前   91

 

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

 

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

留言需要登陆哦

技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成

网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];

      订阅博客周刊 去订阅

文章归档

文章标签

友情链接

Auther ·HouTiZong
侯体宗的博客
© 2020 zongscan.com
版权所有ICP证 : 粤ICP备20027696号
PHP交流群 也可以扫右边的二维码
侯体宗的博客