A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 HM马强 于 2013-10-7 18:55 编辑
  1. package examination;

  2. import java.util.ArrayList;
  3. import java.util.List;

  4. public class Questions {

  5.         /**
  6.          * 一个ArrayList对象aList中存有若干个字符串元素,现欲遍历该ArrayList对象,删除其中所有值为"abc"的字符串元素,请用代码实现
  7.          */
  8.         public static void main(String[] args) {
  9.                 // TODO Auto-generated method stub
  10.                 List<String> list = new ArrayList<String>();
  11.                 //list.add("abc");
  12.                 list.add("bac");
  13.                 list.add("abcd");
  14.                 list.add("123");
  15.                 list.add("talent");
  16.                 list.add("ma");
  17.                 list.add("qiang");
  18.                 list.add("abc");
  19.                 System.out.println("abc".equals(list.get(6)));
  20.                 questions1(list);
  21.                 for (String string : list) {
  22.                         System.out.println(string);
  23.                 }
  24.         }

  25.         public static List questions1(List<String> list) {
  26.                 // 遍历该ArrayList对象
  27.                 for (int i = 0; i < list.size() -1 ; i++) {
  28.                         // 删除其中所有值为"abc"的字符串元素
  29.                         if ("abc".equals(list.get(i))) {
  30.                                 list.remove(i);
  31.                                 if (i == list.size() - 1)
  32.                                         return list;
  33.                                 i--;
  34.                         }
  35.                 }
  36.                 return list;
  37.         }}
复制代码

QQ截图20131005161537.jpg (37.74 KB, 下载次数: 4)

QQ截图20131005161537.jpg

2 个回复

倒序浏览
for (int i = 0; i < list.size() -1 ; i++)
你再看一下判断的结束条件,应该是i < list.size()或是 i<= list.size() -1吧。不然的话你获取最后一个值呢。
回复 使用道具 举报
{:soso_e199:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马