集合
数组
1)存储的元素数据类型必须一致
2)存储空间的分配是连续的,并且是一次性分配的
int[ ] a = new int[3]
a[3]=9;
ArrayIndexOutOfBoundsException; ——— 数组下标越界异常
1.List
1)ArrayList

实现原理:内部使用一个Objiect数组来实现
动态扩展:新建一个数组,长度增加,将原来的数组元素复制到新的数组去
1)顺序存储结构:ArrayList(数组)
逻辑存储结构通屋里存储结构一致
存:末尾添加元素:不需要移动元素
从中间添加:移动指定位置后面的所有元素
最差状况:从第一个位置添加元素
最好状况:从最后一个位置添加元素
取:随机访问
首地址:100第十个元素的地址:100+(10*数据类型所占大小)
2)链式存储结构:LinkedList
逻辑存储结构通屋里存储结构没有关系
存:不需要移动元素,只需要修改相应的next和prev指针
取:不能水机访问,平均性能会比较差
最佳状况:查找时是第一个
最差状况:查找时是最后一个
2.Set
集合:确定性,互异性,无序性
HashSet:无序性,不能重复
求余法:通过每个元素的hashcode对底层数组的长度求余,计算出改元素在数组上的位置
解决方案:拉链法
动态扩展
加载因子:百分比
HashSet底层是用HashMap
2)LinkedHashSet
继承自HashSet,同样具有互异性
输出顺序同插入顺序
在HahsSet基础上维护了一张独立的链表,用于记录每个元素的插入顺序

注意:Set中判断元素是否重复的步骤是先看hashcode,如果hashcode不同肯定不重复,忽略equals方法;如果hashcode相同(hash冲突)再根据元素所在类型重写的equals方法进行判断p
3)TreeSet—只能插入同一类型的数据
不可重复
String元素—按字典排序
数字—按数字大小排
实质上,排序规则靠插入的元素类型锁重写的compareTo方法来决定(负数表示小于,0表示等于,正数表示大于)
如果一个类实现Comparable接口的compareTo方法,那么一旦方法的返回结果==0,就认为该元素跟调用此方法的元素相等,并且会忽略equals方法执行。
☆Map ————面试考点
通过映射的原理(key,value)—键值对
1.HashMap
无序列
互异性(相同的key,后面把前面覆盖)
key和value均可以设为null,并且互异性规则同样适用
2.LinkedHasMap
key值相同(在后面的)覆盖,value相同也打印
value怎么放置就怎么拿出来
key和value均可以设为null,并且互异性规则同样适用
3.Treemap
按照key值大小排序和value值不相关
不能存储key为null的值,value可以为null值
key值数据类型要同,value对于数据类型无关
按照第一个元素来定义数据类型
4.HashTable
类似于HashMap,同样具有无序性和不可重复性
同HashMap的区别:
1)key和value都不能为空
2)会影响集合的数据结构的方法做了线层同步(有synchronized关键字)

集合——数组容器笔记相关推荐

  1. javaSE基础——集合全面解析笔记

    javaSE基础--集合全面解析笔记 英文单词 一.容器定义 1.1.容器继承体系 二.Set--------容器类 部分方法数学集合意义 2.1 HashSet 2.1.1 基本用法 2.1.2 特 ...

  2. java集合框架容器 java框架层级 继承图结构 集合框架的抽象类 集合框架主要实现类...

    本文关键词: java集合框架  框架设计理念  容器 继承层级结构 继承图 集合框架中的抽象类  主要的实现类 实现类特性   集合框架分类 集合框架并发包 并发实现类 什么是容器? 由一个或多个确 ...

  3. 集合 数组 定义 转换 遍历 Arrays API MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  4. 《回炉重造 Java 基础》——集合(容器)

    整体框架 绿色代表接口/抽象类:蓝色代表类. 主要由两大接口组成,一个是「Collection」接口,另一个是「Map」接口. 前言 以前刚开始学习「集合」的时候,由于没有好好预习,也没有学好基础知识 ...

  5. 蓝桥杯JAVA-7.集合(容器)在竞赛中的使用

    目录 个人博客 www.tothefor.com 蓝桥杯复习知识点汇总 介绍一些在竞赛中会用到的集合(容器),和使用方法.具体一些的用法可见<JAVA基础学习-集合> 而本文是快速介绍和一 ...

  6. Educoder–Java高级特性(第二章)- 集合框架【笔记+参考代码】

    Educoder–Java高级特性(第二章)- 集合框架[笔记+参考代码] 第一关 编程要求 请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,创建ArrayList集 ...

  7. jquery遍历集合数组标签

    jquery遍历集合&数组的两种方式 CreateTime--2017年4月24日08:31:49 Author:Marydon 方法一: $(function(){$("input ...

  8. java集合——数组列表(ArrayList)+散列集(HashSet)

    [0]README 0.1) 本文描述+源代码均 转自 core java volume 1, 旨在理解 java集合--数组列表(ArrayList)+散列集(HashSet) 的相关知识: 0.2 ...

  9. ruby pluck用法,可以快速从数据库获取 对象的 指定字段的集合数组

    可以快速从数据库获取 对象的 指定字段的集合数组 比如有一个users表,要等到user的id数组: select id from users where age > 20; 要实现在如上sql ...

最新文章

  1. 计算机病毒的八个特征,计算机病毒的五个特征- 1:.单项选择题(8)
  2. maya批量操作mel_MAYA对多个模型使用当前设置批量渲染并保存图片的MEL脚本
  3. 数据库(oracle) 索引
  4. oracle左右结合,oracle中的左右连接
  5. java一个简单的管理系统
  6. 硅谷之谜读后感以及最近总结
  7. 神经网络中误差值计算公式的选取
  8. C# vb .net实现相机视图效果滤镜
  9. java string 几个字节_java中字符串占几个字节
  10. DBCO-PEG4-SUE DBCO-PEG4-蔗糖
  11. 美国计算机基础课课程教学,美国大学计算机基础课程设置
  12. OSChina 周四乱弹 ——年终奖300,前提是过年加班,干不干?
  13. 微信商户平台,开通企业付款到用户零钱功能
  14. 如何使文章分栏脚注不分栏?
  15. C语言练习题——函数
  16. 宇视NVR录像机 一直滴滴报警,如何关闭
  17. html加拼音注释,HTML——格式化文本标记、拼音/音标注释ruby 标记和rt/rp 标记、段落缩进标记blockquote、预格式化标记pre...
  18. 我给文案新人的1点建议!
  19. java.lang.InstantiationException: entity.User 实例化异常解决
  20. python for循环加速_干货总结,24招加速你的Python代码,值得收藏

热门文章

  1. 腾讯云TCA运维认证考试题库
  2. [全]win7成功干掉win8--一个小U盘引发的血案(U盘在win8下装win7的方法)Lenovo V580c
  3. 为什么打开计算机不显示桌面快捷方式,电脑桌面快捷方式不见了的解决办法
  4. Android轻松实现日期选择器、生日选择器、自定义起始时间
  5. 拉依达准则剔除数据异常
  6. 转载-杭电老师的思考
  7. 在浏览器中嵌入播放器
  8. docker制作镜像的方法
  9. 没那么简单,没那么困难
  10. 智行订票系统需求分析报告