黑马程序员技术交流社区

标题: 关于迭代器指针的问题... [打印本页]

作者: a292723685    时间: 2016-3-31 21:29
标题: 关于迭代器指针的问题...
public static void main(String[] args) {
                ArrayList<Integer> a = new ArrayList<>();
                a.add(1);
                a.add(1);
                a.add(2);
                a.add(3);
                a.add(4);
                a.add(2);
                a.add(4);
                Iterator<Integer> it = a.iterator();
                ArrayList<Integer> b = new ArrayList<>();
                while (it.hasNext()) {
                        /*Integer c = it.next();
                        if (!b.contains(c)) {
                                b.add(c);
                        }*/
                                       
                }
                System.out.println(a);
                System.out.println(b);
        }

}
如果我不记录迭代器指针指向的下一个元素
,将注释的换成下面的语句句,有什么办法让给b.add(it.next()) 中的it.next()与符合条件的a(!b.contains(it.next())) 中it.next()是同一个指针指向的对象...
if (!b.contains(it.next())) {
        b.add(it.next());
}

作者: huangfan    时间: 2016-3-31 21:30

作者: minge123    时间: 2016-3-31 21:39
虽然没看太懂你问的问题,提前把(it.next()赋值给一个包装类  然后拿这个替代(it.next()!如果我没理解错的话!
作者: a292723685    时间: 2016-3-31 22:06
minge123 发表于 2016-3-31 21:39
虽然没看太懂你问的问题,提前把(it.next()赋值给一个包装类  然后拿这个替代(it.next()!如果我没理解错的 ...

提前把(it.next()赋值给一个包装类那一句被我注释了,我是问有什么办法让给b.add(it.next()) 中的it.next()与符合条件的a(!b.contains(it.next())) 中it.next()是同一个指针指向的对象...
作者: 马儿不吃草    时间: 2016-3-31 22:27
你的问题怎么看不懂
作者: 赵国政    时间: 2016-3-31 22:28
赞赞赞!




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