• 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 列表
    被闭包啪啪啪的打脸之 闭包的错误使用
    TCP的三次握手和四次挥手
    传输层的TCP和UDP协议
    个人小程序应用开发指南
    ES2019 / ES10有什么新功能?
    CSS开启硬件加速来提高网站性能
    js中this的指向问题
    Js面向对象构造函数继承
  • 原文地址:https://www.cnblogs.com/mr171733/p/9763207.html
Copyright © 2020-2023  润新知