首页 > 技术文章 > Java基础中的集合以及迭代器

heitaitou 2020-05-09 16:53 原文

集合:

    对于集合,首先要明确的是最顶层的接口是Collection接口类,其包含一些基本的方法以便子类调用,不过在定义的时候最好定义好数据类型,以免遍历时还得必须进行向上转型;特别注意的是其没有关于下标的方法。同时为了方便遍历其元素,建立了一个Iterable类由Collection进行实现其独有的返回迭代器的方法,以便下面的子类进行迭代的实现。

介绍:集合是java中提供的一种容器,可以存储多个数据;集合的长度是可变的,存储的必须是引用数据类型(数组长度是固定的)。

集合的继承实现关系:

 

特点:list允许出现重复的元素,是有序的,有下标;

          而set是不允许的,无序的,没有下标。

Collection类:

 

Collection<元素类型> 变量名 =new ArrayList<元素类型>();
//只能存储指定的类型(最好采用这种方法)多态


Collection 变量名 = new ArrayList();
//默认类型为Object,即任何类型的元素都可以存储

 部分方法:

Collection<Integer> col=new ArrayList<Integer>();
        col.add(123);//new Integer("123");
        col.add(456);
        //判断集合中是否包含此元素
        boolean flag=col.contains(123);
        System.out.println(flag);
       /* //删除元素
        boolean f=col.remove(456);
        System.out.println(f);
        //清空集合中所有元素
        col.clear();*/
        //向下转型
        ArrayList<Integer> arr=(ArrayList<Integer>)col;
        for(int i=0;i<arr.size();i++){
            System.out.println(arr.get(i));
        }
        //将集合->数组
        Object[] obj=col.toArray();
        for(int i=0;i<obj.length;i++){
            System.out.println(obj[i]);
        }
    }

Iterator迭代器:

概述:

  Collection集合元素的通用获取方式:在取元素之前先要判断集合中有没有元素,如果有,就把这个元素取出来,继续在判断,如果还有就再取出出来。一直把集合中的所有元素全部取出。这种取出方式专业术语称为迭代。

常用方法:

hasNext():   如果仍有元素可以迭代,则返回true;(返回一个boolean值)

next():返回迭代的下一个元素,并把指针向后移动下一位。

不要在迭代的时候替换,改变集合的长度。

循环迭代:

 

Collection<Integer> col=new ArrayList<Integer>();
        col.add(123);
        col.add(789);
        col.add(456);
        //获取迭代器对象;
        Iterator<Integer> it=col.iterator();
    while(it.hasNext()){
            int i=it.next();
            if(i==789){
                System.out.println(i);
            }
            
        }

 

推荐阅读