• 2020.12.01,Collectionj集合,迭代器,增强for循环,泛型


    Collection集合
    |
    集合和数组的区别:
    1.数组长度固定不变
    2.数组当中存储的事统一数据类型元素,可以存储基本数据类型,集合存储的都是对象,和基本数据类型的包装类
    |
    集合根据其存储结构分为两大类
    1.单列集合:java.util.Collection
    2.双列集合:java.util.Map
    |
    Collection接口
    1.单列集合根接口
    2.用于存储一些符合某种规则的元素
    3.有两个子接口:List和Set接口
    |
    List接口:java.util
    1.包含Vector集合,ArrayList集合,LinkedList集合
    2.有序集合(存入和取出顺序一致)
    3.允许重复元素
    4.有索引,可以用for循环遍历
    Set接口:java.util
    1.包含TreeSet集合,HashSet集合,LinkedHashSet集合
    2.TreeSet和HashSet集合(无序),LinkedHashSet集合有序
    3.不允许重复元素
    4.没有索引
    |
    Collection集合常用功能
    定义:所有单列集合的父接口,定义一些所有子类的接口方法,增删改查
    注意:如果<>中没有指定存入的类型,那就默认为Object类型
    |
    方法
    Collection col=new ArrayList();先创建对象
    1.col.add(E e)---->增加
    2.col.clear()---->清空
    3.col.remove(E e)---->删除某个元素
    4.col.contains(E e)-->判断某一个元素是否存在
    5.col.isEmpty(E e)---->判断集合是否为空
    6.col.size()---->查看集合中有多少元素
    7.Object[] b=col.toArray();---->把集合存储到数组当中
    8.sout(集合名)--->表示输出集合中的数据,而不是地址值
    ||||||||||||
    ||||||||||||
    ||||||||||||
    迭代器:java.util
    作用:
    遍历集合中的数据
    |
    使用步骤
    1.获得迭代器:Iterator iterator=collection.iterator()
    2.使用iterator中的hasNext()方法判断下一个元素是否有值
    3.使用iterator中next()方法取出下一个元素(赋复制)
    注意::如果没有元素了一人取出就会抛除异常java.util.NoSuchElementException没有此元素,运行时错误。
    |
    迭代概念
    具体实现:每次取得元素之前,首先判断集合当中有没有元素。如果有就取出元素,然后继续判断。直到取出集合中所有元素
    |
    迭代方法
    Iterator iterator=collection.iterator();
    1.iterator.hasNext()--->判断下一个是否有元素
    2.iterator.next()---->取出下一个元素
    |
    迭代器使用原理
    1.调用iterator接口当中的方法之前迭代器索引位置在第一个元素之前。不指向任何元素
    2.当第一次调用迭代器next方法迭代器索引回向后移动一位,指向第一个元素并将该元素返回。如此循环直到输出所有的值就终止。强硬取值就会报错。
    注意:Iterator是跟着集合里面走的,必须和集合里面的一样,不然就会报错。
    ||||||||||
    ||||||||||
    ||||||||||
    增强For循环:JDK1.5之后才有
    格式:for(元素数据类型 变量名:集合或者数组){};
    作用:遍历集合或者数组
    |||||||||||||
    |||||||||||||
    |||||||||||||
    泛型
    概述:可以在类或者方法中加入未知的数据类型,一般难创建的时候将未知数的数据类型当没有指定的泛型时,默认类型为Object类,指定存入和取出元素类型
    |
    适用泛型好处
    1.使用泛型之后只能存入指定类型数据,取安全
    2.把运行期异常转换为编译器异常
    |
    泛型的定义和使用
    泛型可以用来将数据类型应用到不同的类,方法和接口当中,可以将数据类型当做参数传递,因为我们集合框架体系中大量使用泛型
    |
    定义和使用泛型泛型的类:创建对象的时候传入数据类型
    格式:修饰符 class 类名<代表泛型的变量>{};
    创建对象的时候传入泛型的数据类型,然后类里面的方法和变量使用到泛型的就是改数据类型,不穿就是Object类型【private 泛型数据类型 变量名;】,产生的set和get方法,通过不同的泛型数据类型,set可以赋不同的值,更多变。
    |
    定义和使用泛型的方法:使用方法的时候直接传入具体数值
    格式:修饰符 <泛型声明> 返回值 方法名(泛型参数){}
    使用:调用的时候声明泛型的数据类型,出入具体值,传入什么样的实参,泛型就是声明数据类型
    |
    定义使用泛型的接口
    格式:修饰符 interface 接口名<泛型>{}
    调用:
    1.在被子类实现的时候填入具体数据类型
    2.创建子类对象·的时候再传入具体的值
    |
    泛型能不能被继承
    1.不能被继承
    2.数据类型有继承关系,但是不能再泛型当中实现继承

  • 相关阅读:
    Error Code: 1414. OUT or INOUT argument 2 for routine company.new_procedure is not a variable or NEW
    Linux四个常用的指挥机关处理具体的解释
    JTextpane 加入的行号
    Oracle主键(Primary Key)使用详细的说明
    POJ 3904(容斥原理)
    [Angular] AuthService and AngularFire integration
    [React] Close the menu component when click outside the menu
    [D3] SVG Graphics Containers and Text Elements in D3 v4
    [D3] Start Visualizing Data Driven Documents with D3 v4
    [Angular] Setup automated deployment with Angular, Travis and Firebase
  • 原文地址:https://www.cnblogs.com/tushao/p/14070477.html
Copyright © 2020-2023  润新知