• Java集合(一)


    目录

    1.数组在存储数据的特点

    2.Java集合框架

    3.Collection中的常用方法

    4.集合元素的遍历


    1.数组在存储数据的特点

    1. 一旦初始化以后长度就确定了。
    2. 数组一旦定义好,其元素的类型也就确定了。

    缺点

    1. 一旦初始化以后长度就不可以修改。
    2. 数组中提供的方法非常有限,对于增删改查等操作非常不方便。
    3. 获取数组中实际元素的个数的需求,数组没有现成的属性或方法。
    4. 数组存储数据的特点是有序的、可重复的,对于无序不可重复的数据存储没办法满足。

    2.Java集合框架

    1. Collection接口:单列集合,用来存储一个一个的对象
    2. List接口:存储有序可重复的数据(又叫动态数组)
    3. ArrayList、linkedList、Vector
    4. Set接口:存储无序的不可重复的数据
    5. HashSetLinkedHashSetTreeSet
    6. Map接口:双列集合,用来存储一对一对的数据
    7. HashMapLinkedHashMapTreeMapHashTableProperties

    3.Collection中的常用方法

    1. add(Object e):向集合中添加数据。
    2. addAll(Collection col):将集合col中的数据都添加到集合中。
    3. size():获取集合中实际元素的个数。
    4. clear():清空当前集合。
    5. isEmpty():判断当前集合是否为空(判断是否包含元素)。
    6. contains(Object obj):判断集合中是否包含obj元素。(通过obj对象所在类的equals()方法看是否相等,如果相等就包含。)
    7. containsAll(Collection col):判断col中的所有元素是否都存在于当前集合中。
    8. remove(Object obj):删除集合中的obj元素
    9. removeAll(Collection col):移除当前集合中和col集合的交集元素。
    10. retainAll(Collection col):保留当前集合和col集合的交集。
    11. equeals(Object obj):判断两个集合的元素是否都相等。
    12. hashCode():获取当前对象的hash值。
    13. Object[] toArray():将当前集合转换成数组。
    14. iterator():返回Iterator接口的实例。

    注意点:

    1. 向Collection接口的实现类中添加数据时,要求数据所在类重写equals()方法.(因为大部分方法都需要用到equals()方法)
    2. 数组转换成集合使用Arrays类的asList(Object...obj)方法

    4.集合元素的遍历

    遍历集合时,要使用Iterator(迭代器)的实例。

    常用方法

    1. next():获取集合中的下一个元素,当下一个元素不存在时报异常。
    2. hasNext():判断集合的下一个元素是否存在。
    3. remove():将调用next()方法后获取的对象删除。

    注意点:

    1. 如果没有调用过next()或者调用了next()后使用remove()再调用remove()会报错。
    2. 迭代器遍历只适用于Collection接口。
    3. 增强for循环的底层使用的也是迭代器。

    步骤:

    1. 通过集合对象的iterator()方法获取迭代器对象。
    2. 写一个while循环,循环条件为hasNext()。
    3. 循环体中使用next()方法获取下一个对象。
  • 相关阅读:
    HTTP协议详解
    使用 HTML CSS 和 JavaScript 创建星级评分系统
    Linux的基本命令
    每天5分钟复习OpenStack(八)存储虚拟化
    AlphaFold2源码解析(8)--模型之三维坐标构建
    Windows10中配置并使用nvidia-smi
    远距离WiFi无线传输方案,CV5200模组通信应用,无线自组网技术
    黑帽python第二版(Black Hat Python 2nd Edition)读书笔记 之 第二章 网络工程基础(3)SSH与SSH隧道
    小DEMO:在vue中自定义range组件
    Servlet | Servlet基于注解式开发、使用模板方法设计模式解决类爆炸
  • 原文地址:https://blog.csdn.net/m0_71987537/article/details/125473267