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就是数组结构,有角标,查询速 ...
随机推荐
- Glibc堆管理机制基础
最近正在学习linux下堆的管理机制,收集了书籍和网络上的资料,以自己的理解做了整理,做个记录.如果有什么不对的地方欢迎指出! Memory Allocator 常见的内存管理机制 dlmalloc: ...
- Java流程控制:顺序结构
一.流程控制 Java中的流程控制语句可以这样分类:顺序结构.选择结构.循环结构.这三种结构就足够解决所有的问题了! 二.顺序结构 描述: Java流程控制的基本结构就是顺序结构,除非特别指明,否则J ...
- How DRI and DRM Work
How DRI and DRM Work Introduction This page is intended as an introduction to what DRI and DRM are, ...
- mysql查询缓存简单使用
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBM ...
- 技术基础 | 在Apache Cassandra中改变VNodes数量的影响
Apache Cassandra中num_tokens的默认值在4.0版本中将会有变化!这看起来好像只是在CHANGES.txt文件中做了个小小的改动,但实际上这个改动将会对集群的日常运维有着深远的影 ...
- 打造综合性智慧城市之朔州开发区 3D 可视化
前言 近几年,我国智慧城市建设步伐也不断加快,党中央和国务院也更加注重智慧园区的建设与发展,智慧园区建设与园区产业发展相结合,向着创新化.生态化发展,更加注重高新技术.绿色环保型等产业的发展,将管 ...
- Windows下用户手册
(1)net user(查看系统用户) (2)net user 用户名(查看具体某个系统用户详细信息) (3)net user 用户名 密码 /add(在本地组成员创建新用户,此时为Users组) ...
- Jmeter性能常见问题集锦
1. java.net.BindException: Address already in use: connect 开始以为是单机运行脚本运行不过来,所以另加了一台负载机同时运行脚本 分布式环境部署 ...
- TIOBE 编程语言排行榜
https://www.tiobe.com/tiobe-index/ TIOBE 编程语言排行榜是编程语言流行趋势的一个指标
- POJ_2253 Frogger 【最短路变形】
一.题目 Frogger 二.分析 题意关键点就是那个青蛙距离.就是所有1到2的点的路径中,每条路径都可以确定一个最大值,这个最大值就是青蛙要跳的青蛙距离,然后要求这个青蛙距离最小值. 其实就是最短路 ...