zoukankan      html  css  js  c++  java
  • iterator迭代器,增强型for循环,java泛型

    Collection集合元素的通用获取方式:在取元素之前先要判断集合中有没有元素,如果有,就把这个元素取出来,继续在判断,如果还有就再取出出来,直到几何中的元素全部被却出来,这种方法叫做迭代,描述在iterator接口里面

    iterator接口的常用方法

    hasNext()  如果集合里面有下一个元素们就返回 ture

    next() 用来取出下一个元素

    public static void main(String[] args) {
            Collection<String> col=new ArrayList<String>();
            col.add("abc");
            col.add("bcd");
            //获得迭代器对象
            Iterator<String> it=col.iterator();
            while(it.hasNext()){
                System.out.println(it.next());
            }
            
        }

    集合元素的向下转型

    集合可以存储所有种类的对象,是因为在存放时系统会对存放的对象自动进行转型,也就是提升成了object类的对象,这个时候如果要使用集合中元素的特有内容时,就调取不到了,所以必须要先向下转型才能继续操作,否则会报错

    Collection<Person> col=new ArrayList<Person>();
            col.add(new Person("熊大",18));
            col.add(new Person("熊二",19));
            //向下转型
            ArrayList<Person> list=(ArrayList<Person>)col;
            for(int i=0;i<list.size();i++){
                System.out.println(list.get(i));
            }

    增强型for循环

    作用:专门用来遍历数组和集合,但是由于内部还是iterator迭代器,所以无法对集合和元素进行增删操作

    格式:

    for(数据类  自定义变量:集合或数组容器名){

      system.out.print(自定义变量

    //来一个collection集合
    Collection<Person> col=new ArrayList<Person>();
            col.add(new Person("熊大",18));
            col.add(new Person("熊二",19));
    //用增强型for循环遍历
    for(Person p:col){
                System.out.println(p);
            }

     java的泛型

    定义格式:   修饰符 class 类名<代表泛型的变量>{}

    ArrayList<String> list = new ArrayList<String>();
            //<>里面的String就是泛型

    使用泛型的好处:

    及那个运行时的类转换异常(ClassCastException),转移到了编译时期变成了编译失败,避免类型墙砖的麻烦

    public static void main(String[] args) {
            //ArrayList<String> list = new ArrayList<String>();
            //<>里面的String就是泛型
            List<String> list=new ArrayList<String>();
            list.add("abc");
            list.add("bcd");
            //list.add(123);//明确类型后,写入的类型不一样接着就报错
            Iterator<String> it=list.iterator();
            while(it.hasNext()){
                String str=it.next();
                System.out.println(str.length());
            }
        }
  • 相关阅读:
    python 的基础 学习 第六天 基础数据类型的操作方法 字典
    python 的基础 学习 第五天 基础数据类型的操作方法
    python 的基础 学习 第四天 基础数据类型
    ASP.NET MVC 入门8、ModelState与数据验证
    ASP.NET MVC 入门7、Hellper与数据的提交与绑定
    ASP.NET MVC 入门6、TempData
    ASP.NET MVC 入门5、View与ViewData
    ASP.NET MVC 入门4、Controller与Action
    ASP.NET MVC 入门3、Routing
    ASP.NET MVC 入门2、项目的目录结构与核心的DLL
  • 原文地址:https://www.cnblogs.com/mr171733/p/9763207.html
Copyright © 2011-2022 走看看