黑马程序员技术交流社区

标题: ArrayList 内部类iterator [打印本页]

作者: forjunjian    时间: 2015-8-27 23:46
标题: ArrayList 内部类iterator
毕向东的视频里说,List里面有个iterator内部类的实现,从而可以使用迭代器。咋ArrayList 用内部类呢,我觉得iterator(){

  return new iterator;
}


俺看也行,用的着非要用内部类?

作者: 凡尘    时间: 2015-8-27 23:56
package Array1;

import java.util.ArrayList;
import java.util.Iterator;

public class ArrayTest {
        public static void main(String[] args) {
                //创建集合对象
                ArrayList<String> l = new ArrayList<String>();
               
                //添加集合元素
                l.add("hello");
                l.add("world");
                l.add("java");
                l.add("hello");
                l.add(".net");
                l.add("java");
                l.add("php");
                l.add("ios");
                l.add("java");
                l.add("android");
                l.add("world");
               
                //用迭代器来实现
                Iterator<String> it = l.iterator();
               
                //创建新集合
                ArrayList<String> newl = new ArrayList<String>();
               
                //while循环来遍历集合 l 去除重复,然后添加到新集合 newl 中
                while (it.hasNext()) {
                        String s = (String)it.next();
                        if (! newl.contains(s)) {
                                newl.add(s);                               
                        }
                       
                }
                //输出两个集合对象,查看使用迭代器效果。
                System.out.println(l);
                System.out.println(newl);
        }

}
---------------------------------------------------------------------
最后的打印结果为:
[hello, world, java, hello, .net, java, php, ios, java, android, world]
[hello, world, java, .net, php, ios, android]
(这就是迭代器的使用,希望能帮到你。)





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2