• Java第12章-Iterator接口、Map接口、Collections类


    Iterator接口

    1、 Iterator接口概述

    (1)Iterator接口表示对集合进行迭代的迭代器。Iterator接口为集合而生,专门实现集合的遍历。

    (2)凡是由于Collection接口派生而来的接口或者类,都实现了iterator()方法,iterator()方法返回一个Iterator对象。

    (3)Iterator接口主要有如下两个方法:

            -->hasNext():判断是否存在在一个可访问的元素,如果仍有元素可以迭代,则返回true。

            -->next():返回要访问的下一个元素。

    2、 使用Iterator遍历集合

            Iterator it = list.iterator(); //获取集合迭代器Iterator

            while(it.hashNext()){ //通过迭代器依次输出集合中所有元素的信息

                    Object obj = it.next();

            }

    Map接口

    1、 Map接口概述

    (1)Map接口存储一组成对的键(key)——值(value)对象,提供key到value的映射,通过key来检索。

    (2)Map接口中的key不要求有序,不允许重复。value同样不要求有序,但允许重复。

    (3)Map接口的常用方法如下:

     

    2、使用HashMap类动态存储数据

    (1)Map接口中存储的数据都是键——值对,最常用的Map的实现类是HashMap,其优点是查询元素效率高。

    (2)遍历HashMap集合时可以遍历键集和值集,有for循环遍历、增强for循环遍历和迭代器(Iterator接口)遍历三种方式。

    Collections类

    (1)Collections类是Java提供的一个集合操作工具类。它包含了大量的静态方法,用于实现对集合元素的排序、查找和替换等操作。

    (2)Collections和Collection是不同的,前者是集合的操作类,后者是集合接口。

    1、 对集合元素排序与查找

    (1)排序是针对集合的一个常见需求。要排序就要知道两个元素哪个大哪个小。在Java中,如果要实现一个类的对象之间比较大小,那么这个类就要实现Comparable接口。

    (2)Comparable接口强行对实现它的每个类的对象进行整体排序。这种排序被称为类的自然排序,类的compareTo()方法被称为它的自然比较方法。

    (3)compareTo()方法用于比较此对象与指定对象的顺序,如果该对象小于、等于或大于指定对象,则分别返回负整数、零或正整数。

    (4)compareTo()方法的定义语法格式如下

            int compareTo(Object obj);

            -->参数obj:obj是要比较的对象

            -->返回值:负整数、零或正整数,根据此对象是小于、等于还是大于指定对象返回不同的值

    (5)实现Collections接口的对象列表(和数组)可以通过Collections.sort()方法(和Arrays.sort()方法)进行自动排序。

    (6)元素之间可以比较大小之后,就可以使用Collections类的sort()方法对元素进行排序操作了。Map接口本身是无序的,不能对Map接口做排序操作;List接口是有序的,可以对List接口进行排序。

    (7)使用binarySearch()方法可以查找集合中的元素,但是在使用binarySearch()方法之前需要使用sort()方法对集合进行排序,否则不能保证查找结果的正确性。

    2、 替换集合元素

    可以使用Collections类的静态方法fill()方法把集合中的所有元素都替换为相同的元素。

     

  • 相关阅读:
    《QA离业务代码能有多近?》轻量级单元测试方案
    虚拟人三维动画宣传片案例分享 | 广州“五羊”城市文化IP商业体裸眼3D广告影片
    小黑跑步碰到了北邮女学霸,全马比我还快20分钟,同时崇拜我校学弟让我倍感羡慕的leetcode之旅:1379. 找出克隆二叉树中的相同节点
    java劳务外包管理系统springboot+vue
    Python数据类型的相互转换
    pytorch_lightning模型训练加速技巧与涨点技巧
    精通中间件测试:Asp.Net Core实战指南,提升应用稳定性和可靠性
    项目进度管理有哪些方法?项目管理中的进度管理
    Windows AD 组策略 安全加固
    LeetCode 438. 找到字符串中所有字母异位词__滑动窗口
  • 原文地址:https://blog.csdn.net/m0_57051895/article/details/127100225