码迷,mamicode.com
首页 > 其他好文 > 详细

一个很奇怪的问题

时间:2014-08-13 00:25:44      阅读:278      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   数据   for   ar   问题   div   

先来看看我的一段代码:

1 ArrayList<Integer> array = new ArrayList<Integer>();
2 
3 for(int i = 0;i<100;i++){
4     array.add(i);
5  }    
6 for(int i=0;i<array.size();i++){
7 //     array.remove(new Integer(i));
8        array.remove(i);
9  }

你觉得这样能不能把array里面的东西都删除呢?

输出的结果是这样的:

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 

但是运行第7行代码的时候他的输出是这样的:

50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 

我开始还以为出什么问题了,后来才猛然想到,在ArrayList里面删除数据时会向前移动的,这是经常犯的一个错误,以后要小心。

而且我们知道如果想要removeArrayList里面的东西,如果在前面后面删除都没有关系,那么从后面开始删除可以减少移动的次数。

一个很奇怪的问题,布布扣,bubuko.com

一个很奇怪的问题

标签:style   blog   color   数据   for   ar   问题   div   

原文地址:http://www.cnblogs.com/ironmantony/p/3908513.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!