码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【Java】集合框架和泛型(二)


    分享第 八条励志名言

    志气这东西是能传染的,你能感染着笼罩在你的环境中的精神。那些在你周围不断向上奋发的人的胜利,会鼓励激发你作更艰苦的奋斗,以求达到如象他们所做的样子。——斯蒂文

    目录

    Iterator接口 

    1、 Iterator接口概述

    2、 使用Iterator遍历集合

     ​编辑Map接口

    1、 Map接口概述

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

    Collections类

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

    ​编辑2、 替换集合元素


    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()方法把集合中的所有元素都替换为相同的元素。

     

          今天分享就到这了,谢谢大家支持!!!!

    创作不易点赞评论互关三连

     

     

         

     

     

  • 相关阅读:
    网络安全笔记-网络设备专场(路由器、交换机、防火墙)
    线性代数学习笔记5-4:点积、叉积与线性变换、线性空间理论与傅里叶级数的内在关系
    Vue3动态路由(Vite+Vue3+TS+Mock)
    相似性搜索:第 3 部分--混合倒排文件索引和产品量化
    Spring MVC
    【Vue项目复习笔记】tabbar的封装
    “益路同行”栏目专访第12期——泰格智能AI英语·李勤骞老师
    WebGIS之实现查询地区天气并让地区高亮
    Vue3+node.js实战项目网易云音乐APP(二)
    独立按键控制LED亮灭、独立按键控制LED状态、独立按键控制LED显示二进制、独立按键控制LED移位——“51单片机”
  • 原文地址:https://blog.csdn.net/swy2560666141/article/details/127095049
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号