集合初探(二)

来源:互联网 发布:淘宝直通车黑车 编辑:程序博客网 时间:2024/04/28 23:15
package com.liujunhua.it01;/** * 由于各种数据结构的不同,取出方式也不尽相同。就把取出方式定义在了集合的内部。 * 这样取出方式就可以直接访问集合内的元素,所以取出方式就被定义成了内部类。 *  * 而每一个容器的数据结构不同,所以取出元素的动作细节也会有所不同,但是他们有 * 共性内容就是判断和取出。那么就可以把共性内容抽取,于是有了Iterator接口。 *  * 所以这些内部类都符合一个规则,那就是Iterator。那么如果获取集合中的元素呢? * 通过一个iterator();方法对外提供。 */import java.util.ArrayList;import java.util.Iterator;public class Demo02 {public static void main(String[] args) {// TODO Auto-generated method stubArrayList al1 = new ArrayList();ArrayList al2 = new ArrayList();al1.add("java01");al1.add("java02");al1.add("java03");al1.add("java04");al2.add("java01");al2.add("java02");al2.add("java05");al2.add("java06");/* * retainAll();表示当前集合与其他集合取交集 */al1.retainAll(al2);System.out.println(al1);/* * 迭代器:用于取出元素的方式 * iterator();方法比较特殊,它的返回值是一个接口 * 而且接口里定义了三个方法: * 1.hasNext();如果还有元素迭代,则返回值为true * 2.next();返回迭代的下一个元素 * 3.remove();从迭代器指向的collection中移除迭代器返回的最后一个元素 */Iterator it = al1.iterator();while (it.hasNext()) {System.out.println(it.next());}/* * for循环比while循环更优异一些,for循环中Iterator创建的对象是局部的,用完就释放了 */for(Iterator iterator = al2.iterator(); iterator.hasNext();){System.out.println(iterator.next());}}}

0 0
原创粉丝点击