码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Java之基本类、包装类、自动装箱、自动拆箱、集合和数组对比、三种for循环、遍历删除存在的安全问题


    基本类型和包装类(引用数据类型)

    基本数据类型包装类
    byteByte
    shortShort
    intInteger
    longLong
    floatFloat
    doubleDouble
    charCharacter
    booleanBoolean

    为什么提供包装类?

    • Java为了实现一切皆对象,为8种基本类型提供了对应的引用类型。
    • 后面的集合和泛型其实也只能支持包装类型,不支持基本数据类型。

    自动装箱:把一个基本数据类型变成对应的包装类

    例如: Integer i = 10;

    自动拆箱:把一个包装类型变成对应的基本数据类型

    例如: int i2 = i;

    编译时异常因为在编译时就会检查,所以必须要写在方法后面进行显示声明,运行时异常因为在运行时才会发生,所以在方法后面可以不写

    集合类的特点:提供一种存储空间可变的存储模式,存储的数据的容量可随时发生改变

    集合和数组的对比:

    • 数组的长度是不可变的,集合的长度是可变的
    • 数组可以存储基本数据类型和引用数据类型,集合只能存储引用数据类型,如果要存储基本数据类型,需要存对应的包装类。

    三种循环遍历的使用场景:

    • 如果需要操作索引,使用普通for循环即可
    形如:
    String[] arr = { "a", "b", "c", "d" };
    for (int i = 0; i < arr.length; i++) {
      System.out.println(arr[i]);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 如果在遍历过程中需要删除元素,请使用迭代器方式
    List<String> list = Arrays.asList(arr);
        
    for (Iterator<String> iterator = list.iterator();iterator.hasNext();) {
      System.out.println(iterator.next());
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 如果仅仅想遍历,请使用增强for循环
    for(int ele : list) {
        System.out.println(ele);
    }
    
    • 1
    • 2
    • 3

    那些遍历删除元素存在问题?

    • 迭代器遍历集合且直接用集合删除元素的时候可能出现。
    • 增强for循环遍历集合且直接用集合删除元素的时候可能出现。

    哪种遍历且删除元素不出问题

    • 迭代器遍历集合但是用迭代器自己的删除方法操作可以解决。
    • 使用for循环遍历并删除元素不会存在这个问题。
  • 相关阅读:
    python 动态规划(背包问题和最长公共子串)
    Java常用设计模式
    Windows平台下安装binwalk
    源码解析Synchronous Queue 这种特立独行的队列
    《微信小程序开发从入门到实战》学习十九
    【车辆配送】基于模拟退火 (SA)求解车辆配送 (VPR) (Matlab代码实现)
    k8s中的Controller
    【算法刷题日记之本手篇】二进制插入与查找组成一个偶数最接近的两个素数
    UNIAPP实战项目笔记47 显示默认收货地址和修改收货地址页面的布局
    面试篇之HR问什么是静态代理?什么是动态代理?
  • 原文地址:https://blog.csdn.net/jjw_zyfx/article/details/127689957
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号