Day07_34_集合概述
集合概述
* 主要集合概述
- 集合相当于现实世界中的容器,主要包含两种存放模式,一个一个的存(Collection), 一对一对存(Map[key,value])
- 集合中只能存储引用数据类型,不能存储基本数据类型。
- 所有的集合都是可迭代的。
-java集合主要有三种重要类型
List 是一个有序集合可以放重复的数据(有序可重复)
Set 是一个无序集合 不允许放重复数据(无序不可重复)
Map 是一个无序集合,集合中包含一个键对象,一个值对象,键对象不允许重复,值对象可以重复(例如:身份证号和姓名)
* 集合在 java.util下
* 集合 Collection 中接口关系 (--->代表下一级继承关系 / 代表平级关系 )
- 因为父接口 Iterable中有iterator()方法,而其下所有接口集合都继承了 Iterable,所以所有的集合都有 (iterator方法),所有集合调用iterator()方法后返回一个iterator接口迭代
器,集合获取到iterator接口迭代器之后,就可以使用迭代器去遍历集合。
— terator接口迭代器中有三个遍历方法:
- boolean hasNext() : 如果集合中仍有元素,还可以继续迭代则返回true,否则false。
- next() : 返回迭代的下一个元素。
- remove(): 从迭代器指向的 collection 中,移除迭代器返回的最后一个元素。
- 关系图

<interface>: Iterable(接口)----中有---(iterator()方法)
Iterable(接口)--->Collection(接口)--(调用iterator()方法)--得到 iterator接口迭代器(作用:遍历集合)
<interface>: iterator 接口---> boolean hasNext()/next()/remove() 方法 (作用:遍历集合)
<interface>: Iterable(接口)--->Iterable(接口)--->Collection(接口)--->List(接口)/Set(接口)
<class> : List(接口)---> ArrayList/LinkedList/Vector(类)
<class> : Set(接口)---> HashSet()类/SortedSet子接口
Set(接口)---> SortedSet子接口--->TreeSet类
- Collection集合的特点
> List 集合存储数据的特点:有序可重复,存进去什么顺序,取出来还是什么顺序
> Set 集合存储元素的特点:无序不可重复,存进去什么顺序,取出来不一定按照该顺序
> SortedSet集合存储数据的特点:无序不可重复的,但是存储进去的元素可以按照元素的大小自动排序
- Collection 集合中各类(class) 的特点
> ArrayList: ArrayList底层是采用数组存储元素的,所以ArrayList适合查询,不适合频繁的增删元素
> LinkedList: LinkedList底层是采用双向链表这种数据结构存储数据的,链表适合增删元素,不适合查询操作。
> Vector: Vector底层也是使用的数组存储元素,和ArrayList相似,但是Vector是线程安全的(可以在多线程环境下使用),但是效率较低。
> HashSet : 哈希表/散列表
> TreeSet :TreeSet是有序的Set集合,因此支持add、remove、get等方法。
Day07_34_集合概述的更多相关文章
- 《java集合概述》
JAVA集合概述: Collection: |---List有序的:通过索引就可以精确的操作集合中的元素.元素是可以重复的. List提供了增删改查的动作. 增加add(element) add(in ...
- Java基础知识强化之集合框架笔记38:Set集合之Set集合概述和特点
1. Set集合概述和特点 Collection |--List 有序(存储顺序和取出顺序一致),可重复 |--Se ...
- Java集合概述、Set集合(HashSet类、LinkedHashSet类、TreeSet类、EnumSet类)
Java集合概述.Set集合(HashSet类.LinkedHashSet类.TreeSet类.EnumSet类) 1.Java集合概述1)数组可以保存多个对象,但数组长度不可变,一旦在初始化数组时指 ...
- Java笔记:Java集合概述和Set集合
本文主要是Java集合的概述和Set集合 1.Java集合概述 1)数组可以保存多个对象,但数组长度不可变,一旦在初始化数组时指定了数组长度,这个数组长度就是不可变的,如果需要保存数量变化的数据,数组 ...
- Map集合概述和特点
A:Map集合概述和特点(Set底层依赖的是Map) 将键映射到值的对象 一个映射不能包含重复的键 每个键最多只能映射到一个值 B:Map接口和Collection接口的不同 Map是双列的(是双列集 ...
- 第8章-Java集合 --- 概述
第8章-Java集合 --- 概述 (1)Java集合类是一种特别有用的工具类,可以用于存储数量不等的多个对象,并可以实现常用的数据结构,如 栈.队列等. (2)Java集合大致可分为Set.List ...
- Java集合--概述
目录 Java集合--概述 摘要 图示 正文 Java集合--概述 摘要 本文主要介绍集合的整体概念,并作为接下来Java集合实现类讲解的索引. 图示 这是在网上看到了这样一张图,感觉很清晰, ...
- C#集合概述
C#集合概述 2016-11-29 集合 顺序排列 连顺存储 直接访问方式 访问时间 操作时间 备注 Dictionary 是 Key Key:O(1) O(1) 访问性能最快,不支持排序 Sorte ...
- Java精选笔记_集合概述(Collection接口、Collections工具类、Arrays工具类)
集合概述 集合有时又称为容器,简单地说,它是一个对象,能将具有相同性质的多个元素汇聚成一个整体.集合被用于存储.获取.操纵和传输聚合的数据. 使用集合的技巧 看到Array就是数组结构,有角标,查询速 ...
随机推荐
- jdbc连接数据库(oracle、mysql)
很简单,直接贴代码吧!代码注释自认为足够理解! 第一步创建数据库连接类,数据库连接地址.数据库驱动.用户名.密码建议创建为公共变量,方便修改,一目了然. package db; import java ...
- 视频+图文串讲:MySQL 行锁、间隙锁、Next-Key-Lock、以及实现记录存在的话就更新,如果记录不存在的话就插入如何保证并发安全
导读 Hi,大家好!我是白日梦!本文是MySQL专题的第 27 篇. 下文还是白日梦以自导自演的方式,围绕"如何实现记录存在的话就更新,如果记录不存在的话就插入."展开本话题.看看 ...
- MySQL学习笔记(五)
倒数第二天!冲冲冲!!! 一.索引 一个表里面可以有多个索引. 1. 索引的作用:约束与加速查找 无索引:从前到后依次查找 有索引:会为索引列创造一个额外文件(以某种格式存储).在使用索引进行查找时, ...
- Svelte v2 已经过时了!
带你走马观花,细看新版变化. 注意:原文发表于2018-04-18,随着框架不断演进,部分内容可能已不适用. 大约是一年之前,我们首次在 Svelte 的 issue 跟踪器上讨论过 v2 版本,现在 ...
- mysql主从复制,主主复制,级联复制,半同步复制
-------------------------------------------------------------------------------主从复制----------------- ...
- 永恒之蓝(MS17-010)检测与利用
目录 利用Nmap检测 MSF反弹SHELL 注意 乱码 参考 利用Nmap检测 命令: nmap -p445 --script smb-vuln-ms17-010 [IP] # 如果运行报错,可以加 ...
- 基于Hi3559AV100的视频采集(VDEC-VPSS-VO)整体框图设计
下面给出基于Hi3559AV100的视频采集整体设计,具体设计将在后续给出: 图形采集端整体设计 Hi3559AV100软件程序按结构划分可分为4层,第一层是硬件驱动层,第二层是操作系统层,第三层是媒 ...
- js--this指向的相关问题
前言 关于this的指向问题是前端面试中常考的知识点,也是我们开发学习中较难理解的问题.作为JavaScript的基础,需要我们彻底理解这一关键词.this作为JavaScript中非常复复杂的机制, ...
- 新石器时代码农的Typescript开发总结
如果评定前端在最近五年的重大突破,Typescript肯定能名列其中,重大到各大技术论坛.大厂面试都认为Typescript应当是前端的一项必会技能.作为一名消息闭塞到被同事调侃成"新石器时 ...
- [WC2014]时空穿梭
这才叫莫比乌斯反演题. 一.题目 点此看题 二.解法 也没有什么好的思路,我们不妨把暴力柿子写出来,我们想枚举直线,但是这道题不能枚举直线的斜率,所以就要用整数来表示直线,我们不妨枚举出发点和终止点的 ...