黑马程序员技术交流社区
标题:
请问下各位大神,为什么结果中最后一个"abc"不能删除呢?
[打印本页]
作者:
HM马强
时间:
2013-10-7 17:30
标题:
请问下各位大神,为什么结果中最后一个"abc"不能删除呢?
本帖最后由 HM马强 于 2013-10-7 18:55 编辑
package examination;
import java.util.ArrayList;
import java.util.List;
public class Questions {
/**
* 一个ArrayList对象aList中存有若干个字符串元素,现欲遍历该ArrayList对象,删除其中所有值为"abc"的字符串元素,请用代码实现
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
List<String> list = new ArrayList<String>();
//list.add("abc");
list.add("bac");
list.add("abcd");
list.add("123");
list.add("talent");
list.add("ma");
list.add("qiang");
list.add("abc");
System.out.println("abc".equals(list.get(6)));
questions1(list);
for (String string : list) {
System.out.println(string);
}
}
public static List questions1(List<String> list) {
// 遍历该ArrayList对象
for (int i = 0; i < list.size() -1 ; i++) {
// 删除其中所有值为"abc"的字符串元素
if ("abc".equals(list.get(i))) {
list.remove(i);
if (i == list.size() - 1)
return list;
i--;
}
}
return list;
}}
复制代码
QQ截图20131005161537.jpg
(37.74 KB, 下载次数: 20)
下载附件
2013-10-7 17:30 上传
作者:
张慧
时间:
2013-10-7 18:26
for (int i = 0; i < list.size() -1 ; i++)
你再看一下判断的结束条件,应该是i < list.size()或是 i<= list.size() -1吧。不然的话你获取最后一个值呢。
作者:
潘才新
时间:
2013-10-7 18:36
{:soso_e199:}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2