* A:集合的由来* 数组是容器,集合也是容器* 数组的弊端:数组的长度是固定的,当添加的元素超过了数组的长度时,需要对数组重新定义,太麻烦* Java内部给我们提供了集合类,可以存储任意对象,长度是可以改变的,随着元素的增加而增加,随着元素的减少而减少  * * B:数组与集合的区别:* ①:数组既可以存储基本数据类型,又可以存储引用数据类型;基本数据类合只能存储引用数据类型(对象):集合中也可以存储基型的数组存储的是值,引用数据类型数组存储的是地址值*      集本数据类型(例如:100),但是在存储的时候回自动装箱变成对象;例如,存储100---new Integer(100);这个就是所谓的自动装箱    * ②:数组长度是固定的,不能自动增长*      集合的长度是可变的,可以根据元素的增加而增长* * C: 数组和集合什么时候用?(从内存的角度要遵守这一点)*       如果元素个数是固定的,推荐用数组*       如果元素个数不是固定的,推荐用集合* 例如:一个班有固定不变的80个人 * 数组会创建80个单位,将80个给存储进来,每一个位置相当于存储一个元素;在内存里相当于直接开辟了一个连续的80个空间,效率高* 部分集合的底层一部分是用数组来实现的,一开始,集合并不会创建一个80的大小的空间,而是创建一个10个大小的空间,然后往里面填,* 填满10个空间了之后,集合会自动创建一个1.5倍的数组,也就是原数组的1.5倍,即15个空间大小的数组,然后把原数组的所以元素拷贝到新数组中来,原数组变成垃圾,被抛弃掉;* 如果再增长的话,集合又会自动增长1.5倍,即到22个大学空间,原数组又变成了垃圾...* 当集合大小增长到80的时候,原来的好几个数组都变成了垃圾,这样的话浪费内存 

Java——集合的概述相关推荐

  1. Java集合框架概述及Collection接口方法讲解

    Java集合框架概述 一方面, 面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象 的操作,就要对对象进行存储.另一方面,使用Array存储对象方面具有一些弊 端,而Java 集合就像一种容 ...

  2. Java集合框架——概述

    集合概述 集合(collection)--有时也被称作容器, 用来把具有相同性质的一类东西,汇聚成一个整体.Collections被广泛应用于存储,获取及操作数据. 集合框架 集合框架(Collect ...

  3. Java集合之概述篇

    概述 一方面, 面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储.另一方面,使用Array存储对象方面具有一些弊端,而Java 集合就像一种容器,可以动态地把多个 ...

  4. java集合(1)-概述

    Java集合类是一种特别有用的工具类,可用于存储数量不等的对象,并可以实现常用的数据结构,如栈,队列等,此外Java集合还可以用于保存具有映射关系的关联数组.java集合大致可分为Set,List,Q ...

  5. Java集合框架-概述

    Java集合框架的由来: 其实在Java2(jdk1.2)之前,Java是没有完整的集合框架的.它只有一些简单的可以自扩展的容器类,比如Vector,Stack,Hashtable等. 为什么存在容器 ...

  6. Java集合框架概述(四)——Map体系集合与底层实现原理

    一.Map父接口 1.概要 方法 描述 public interface Map<K,V> 将键映射到值的对象. 一个映射不能包含重复的键; 每个键可以映射到最多一个值.  将键映射到值的 ...

  7. java集合代码_Java-集合(示例代码)

    一.Java集合框架概述 ●一方面,面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储.另一方面,使用Array存储对象方面具有一些弊端,而Java集合就像一种容器 ...

  8. java 集合框架(一)

    Java 集合框架概述 Java集合的概念 Java集合类:是一个工具类,就像容器,存储任意数量的具有共同属性的对象. Java集合的作用 1.在类的内部,对数据进行组织: 2.简单而快速的搜索大数量 ...

  9. Java集合框架:HashMap

    欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 欢迎跳转到本文的原文链接:https: ...

最新文章

  1. 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 获取 远程 目标进程 中的 /system/lib/libc.so 动态库中的 mmap 函数地址 )
  2. 51CTO推荐博客、博客之星名单【2014年】
  3. BZOJ 1036 [ZJOI2008]树的统计Count
  4. LinkedHashMap 实现缓存(LRU、FIFO、weakhashMap)
  5. 数据科学篇| Seaborn库的使用(四)
  6. pycharm上传代码到github
  7. 信阳农林技术学院经纬度_信阳农林学院驻村工作队为扶贫村协调种苗助力美丽乡村建设...
  8. caffe安装_【开源框架】caffe图像分类从模型自定义到测试
  9. php 获取硬盘所有分区,硬盘怎么分为整数分区|电脑硬盘分区整数对照表
  10. 解决Python安装后目录下缺失Scripts文件夹
  11. mysql 小辉_小辉-MySQL数据库教程 完整高清版40集全!(主流)
  12. mapper同时添加数据只能添加一条_神器之通用mapper的使用
  13. 荒野行动android模拟,荒野行动用模拟器玩教程 荒野行动模拟器不支持机型解决方法...
  14. 计算机设计大赛软件应用开发作品,2019年(第12届)中国大学生计算机设计大赛软件应用与开发类总决赛报道...
  15. 字符处理——大写转小写、小写转大写
  16. 用Pytorch自建6层神经网络训练Fashion-MNIST数据集,测试准确率达到 92%
  17. 【系统集成项目管理工程师】项目资源管理
  18. win10无法识别光驱的解决方法
  19. python异常数据筛选_学习笔记(06):Python数据清理实践-数据过滤,06Python,清洗,实战,筛选...
  20. QuickRedis 是一款 Redis 可视化管理工具

热门文章

  1. 转行python能拿到多少钱_想转行学python过来人提醒大家几点
  2. node那点事(二) -- Writable streams(可写流)、自定义流
  3. 游戏大厅 从基础开始(6)--绕回来细说聊天室(中)之女仆编年史1
  4. Chrome不显示OPTIONS请求的解决方法2021版chrome90
  5. bzoj2916: [Poi1997]Monochromatic Triangles 思路
  6. Mac再建管理员帐户
  7. 二分图之匈牙利算法模版
  8. CentOS 7安装redis及php扩展
  9. 远程工作时的协作工具
  10. Windows Phone 内容滑动切换实现