zoukankan      html  css  js  c++  java
  • 2018-08-01集合Collection+Iterator迭代器+泛型+增强For循环

    集合是Java中提供的一种容器,可以用来存储多个数据!

    //数组与集合的区别:数组的长度是固定的,集合的长度是可变的,集合中存储的元素必须是引用类型数据(包装类)!

    Collection接口常用的子接口有:List接口、Set接口!

    ①   List接口常用的子类有:ArrayList类、LinkedList类(存进去什么顺序,取出来时就是什么顺序)!

    ②   Set接口常用的子类有:HashSet类、LinkedHashSet类(存进去什么顺序,取出来时顺序不一定)!

    //接口之间继承用extends,子类继承用implements!

    既然Collection接口是集合中的顶层接口,那么它中定义的所有功能子类都可以使用!

    Iterator迭代器:

    Java中提供了很多个集合,它们在存储元素时,采用的存储方式不同!要取出这些集合中的元素,可通过一种通用的获取方式来完成:Iterator迭代器!

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

    //示例代码:

    //由于ArrayList的父类是Collection,所以可以用多态创建集合:

    Collection TestArr=new ArrayList<String>();

    TestArr.add("小猪佩奇");

    TestArr.add("小猪乔治");

    TestArr.add("小马宝莉");

    TestArr.add("海绵宝宝");

    TestArr.add("天线宝宝");

    //创建Iterator迭代器对象:

    Iterator TestIt=TestArr.iterator();

    //遍历输出TestArr集合:

    while(TestIt.hasNext()){

         System.out.println(TestIt.next());

    }

     

    hasNext()方法:用来判断集合中是否有下一个元素可以迭代,如果返回true,说明可以迭代!

    Next()方法:用来返回迭代的下一个元素,并把指针向后移动一位!

    //迭代集合元素图解:

    //在进行集合元素取出时,如果集合中已经没有元素了,还继续使用迭代器的next方法,将会发生java.util.NoSuchElementException没有集合元素的错误!

    集合中存储其实都是对象的地址!

    //如果集合中存放的是多个对象,这时进行向下转型会发生类型转换异常!

    //Iterator也可以使用<>来控制元素的类型(引用类型和泛型通配符)!

    增强For循环:

    用于遍历Collection和数组,通常只进行遍历元素,不要在遍历的过程中对集合元素进行增删操作!

    //只能用于遍历,不能用于增删改查!

    注意:新for循环必须有被遍历的目标。目标只能是Collection/集合或者是数组!

    建议:遍历数组时,如果仅为遍历,可以使用增强for如果要对数组的元素进行操作,使用老式for循环可以通过下标操作(增强For循环不能操作集合或者数组的下标)!

    泛型:

    泛型不进入.class文件!

    限定泛型的上限:

    格式:? extends E

    限定泛型的下限:

    格式:? super E

  • 相关阅读:
    不能以根用户身份运行 Google Chrome 浏览器
    Ubuntu 10.04 10.10 11.04 9.10 9.04 中文字体美化——安装雅黑字体
    笔记一:文本属性
    ubuntu下使用 android adb命令
    css常用技巧
    PHP max_execution_time 超时
    PHP判断文件夹是否存在和创建文件夹的方法
    javascript之HTML(select option)详解
    查询HTML标签select中options的值并定位其位置
    PHP网页进度条
  • 原文地址:https://www.cnblogs.com/postgredingdangniu/p/9401968.html
Copyright © 2011-2022 走看看