码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 集合类中的反常规特性


    世界上所有程序只在做一件事情:处理数据。而数据是需要结构来承载,数据结构由此而来,常见的数据结构包括 List、Set、Map、Queue、Tree、Graph、Stack 等,其中 List、Set、Map、Queue 可以从广义上统称为集合类数据结构。

    高级编程语言一般都会提供各种数据结构的实现,供我们开箱即用。Java 也是一样,比如提供了集合类的各种实现。Java 的集合类包括 Map 和 Collection 两大类。Collection 包括 List、Set 和 Queue 三个小类,其中 List 列表集合是最重要也是所有业务代码都会用到的。所以,今天我会重点介绍 List 的内容,而不会集中介绍 Map 以及 Collection 中其他小类的坑。

    一、Arrays.asList 把数据转换为 List 的三个特性

    1、不能直接使用 Arrays.asList 来转换基本类型数组

    2、Arrays.asList 返回的 List 不支持增删操作

    3、对原始数组的修改会影响到我们获得的那个 List

    二、使用 List.subList 进行切片操作可能会导致 OOM

    subList()返回的是 ArrayList 的内部类 SubList,并不是 ArrayList 本身,而是 ArrayList 的一个视

    图,对于 SubList 的所有操作最终会反映到原列表上。所以如果有很多大数据,但是最后只使用subList()返回一个小视图使用,是有可能导致大数组无法回收而产生OOM。

  • 相关阅读:
    SpringMVC之拦截器
    蓝牙耳机什么牌子的好用?口碑比较好的国产蓝牙耳机推荐
    linux应用基础
    激光雷达的厮杀18年:西方“诸神黄昏”,东方“新王隐现”
    k8s Metallb簡單入門示例
    git 常用命令
    从零开始安装 stable diffusion webui v1.9.3 (windows10)
    IO流:字符输入流Reader的超详细用法及底层原理
    算法通关村第七关-黄金挑战二叉树迭代遍历
    java毕业设计保险公司客户信息管理系统Mybatis+系统+数据库+调试部署
  • 原文地址:https://blog.csdn.net/tales522/article/details/133605722
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号