集合概述

* 主要集合概述

  - 集合相当于现实世界中的容器,主要包含两种存放模式,一个一个的存(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 中,移除迭代器返回的最后一个元素。 - 关系图 ![](https://img2020.cnblogs.com/blog/2334081/202103/2334081-20210331181629286-1943179493.jpg) <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_集合概述的更多相关文章

  1. 《java集合概述》

    JAVA集合概述: Collection: |---List有序的:通过索引就可以精确的操作集合中的元素.元素是可以重复的. List提供了增删改查的动作. 增加add(element) add(in ...

  2. Java基础知识强化之集合框架笔记38:Set集合之Set集合概述和特点

    1. Set集合概述和特点 Collection            |--List                     有序(存储顺序和取出顺序一致),可重复            |--Se ...

  3. Java集合概述、Set集合(HashSet类、LinkedHashSet类、TreeSet类、EnumSet类)

    Java集合概述.Set集合(HashSet类.LinkedHashSet类.TreeSet类.EnumSet类) 1.Java集合概述1)数组可以保存多个对象,但数组长度不可变,一旦在初始化数组时指 ...

  4. Java笔记:Java集合概述和Set集合

    本文主要是Java集合的概述和Set集合 1.Java集合概述 1)数组可以保存多个对象,但数组长度不可变,一旦在初始化数组时指定了数组长度,这个数组长度就是不可变的,如果需要保存数量变化的数据,数组 ...

  5. Map集合概述和特点

    A:Map集合概述和特点(Set底层依赖的是Map) 将键映射到值的对象 一个映射不能包含重复的键 每个键最多只能映射到一个值 B:Map接口和Collection接口的不同 Map是双列的(是双列集 ...

  6. 第8章-Java集合 --- 概述

    第8章-Java集合 --- 概述 (1)Java集合类是一种特别有用的工具类,可以用于存储数量不等的多个对象,并可以实现常用的数据结构,如 栈.队列等. (2)Java集合大致可分为Set.List ...

  7. Java集合--概述

    目录 Java集合--概述 摘要 图示 正文 Java集合--概述 摘要 ​ 本文主要介绍集合的整体概念,并作为接下来Java集合实现类讲解的索引. 图示 ​ 这是在网上看到了这样一张图,感觉很清晰, ...

  8. C#集合概述

    C#集合概述 2016-11-29 集合 顺序排列 连顺存储 直接访问方式 访问时间 操作时间 备注 Dictionary 是 Key Key:O(1) O(1) 访问性能最快,不支持排序 Sorte ...

  9. Java精选笔记_集合概述(Collection接口、Collections工具类、Arrays工具类)

    集合概述 集合有时又称为容器,简单地说,它是一个对象,能将具有相同性质的多个元素汇聚成一个整体.集合被用于存储.获取.操纵和传输聚合的数据. 使用集合的技巧 看到Array就是数组结构,有角标,查询速 ...

随机推荐

  1. springboot框架里的pom.xml文件里的m不显示,只有标红和<>符号的解决方法

    这是因为没有把pom.xml文件加入到maven工程中,所以需要如图所示 亲测有效,原文链接:https://blog.csdn.net/qq_41026946/article/details/107 ...

  2. (三)MySQL锁机制 + 事务

    转: (三)MySQL锁机制 + 事务 表锁(偏读) 偏向MyISAM存储引擎.开销小,加锁快,无死锁,锁定粒度大,发生锁冲突的概率最高,并发最低. 查看当前数据库中表的上锁情况,0表示未上锁. sh ...

  3. Elasticsearch精进之路:elasticsearch-head插件使用教程

    一.elasticsearch-head插件的作用 ealsticsearch是一个分布式.RESTful 风格的搜索和数据分析引擎,所有的数据都是后台服务存储着,类似于Mysql服务器,因此如果我们 ...

  4. Java语言的魅力

    Java语言的简介 Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承.指针等概念,因此Java语言具有功能强大和简单易用两个特征.Java语言作为静态面 ...

  5. c#(NPOI)DataTable导出execl,execl(支持解析公式)导入DataTable

    NPOI(C#)DataTable导出execl using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using NPOI.XSSF.UserMod ...

  6. OSI协议简述版

    OSI简介 OSI只是计算机网络中的一种协议名称缩写,它只是电脑间传输数据的协议,并不代表具体的物理设备,并且这种协议,只是被人为的划分为五层:物理层.数据链路层.网络层.传输层.应用层.记住,它只是 ...

  7. jdk8的安装与环境搭建

    jdk8的安装与环境搭建 jdk8下载网址:https://www.oracle.com/cn/java/technologies/javase/javase-jdk8-downloads.html ...

  8. 痞子衡嵌入式:盘点国内车规级MCU厂商

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是国内车规级MCU厂商及其产品. 在汽车电子领域,MCU的应用非常广泛,大到车身控制与动力总成,小到雨刷车窗等控制单元,都离不开MCU的身 ...

  9. 商品购买 & 收银台订单优化测试点疑问归纳梳理

    摘要 更新内容 更新人 更新时间 初版内容 Young 2020.11.20  16:40 贾轩审查确认 Harry 2020.11.20  17:00 和林森沟通问题答疑 参与人:林森.Harry. ...

  10. 关于深度学习配置的一些tips

    建立博客的第一天,将以前记录的一些东西存档下,方便查看. 1安装anaconda 2pycharm破解 配置环境变量3虚拟环境推荐是python3.5或3.6版本 4.安装numpy tensorfl ...