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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘海源 中级黑马   /  2012-7-26 22:31  /  1158 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

*注意尽量每段代码要加上注释!!
*需求:ArrayList集合的练习,去除ArrayList内的所有值为“我爱java”的字符串元素
*思路:在遍历集合中元素的时候进行判断,是我爱java就移除
*步骤:1、利用Arraylist中的size和get()方法遍历集合
  2、在遍历的过程中用equals进行判断
  3、remove移除元素

import java.util.*;
public class ArrayListTest {
public static void main(String[] args) {
  // 注意每段代码要加注释
  // 创建一个集合
  ArrayList<String> al = new ArrayList<String>();
  // 添加元素
  for (int x = 0; x <= 8; x++) {
   if (x % 2 == 0) {
    al.add("我爱java");
   } else {
    al.add("我爱北京");
   }
  }
  // 遍历集合
   Iterator<String> it=al.iterator();
   while(it.hasNext())//这里必须用迭代器,这是集合的用法,size()只能得出集合的元素,但是取不出来的
   {
    if(it.next().equals("我爱java"))
     it.remove();
   }
   System.out.println(al);
   
}
}

这是一哥们做的集合小题但是想移除指定元素用了下面这个代码出错了我呢重新做了一下上边是我修改过的奥
  //遍历集合
  int size = al.size();
  for(int i = 0; i < size; i++)
  {
   if("我爱java".equals(al.get(i)))
   {
    al.remove(i);
   }
记住:
//迭代器接口出现:将每一个容器中的取出方式进行了封装,并对外暴露
//这样无论是什么容器或者数据结构,只要内部取出方式实现Iterator接口
//他将容器的取出方式和容器的数据结构相分离,降低了耦合性
//通过内部类来实现了Iterator接口

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马