Java集合类:可用于存储数量不等的多个对象,并可以实现常用的数据结构,如栈、队列等。还可以用于保存具有映射关系的关联数组。Java集合大致可以分为Set、List、Map三种体系
其中Set代表无序、不可重复的集合;List代表有序、重复的集合;Map则代表具有映射关系的集合。
Java集合类主要由两个接口派生出:Collection和Map。Set 和 List 接口是Collection接口派生的两个子接口,他们分别代表了无序集合和有序集合;
Map实现类用于保存具有映射关系的数据。Map保存的每项数据都是key-value(键-值)对,也就是由key和value两个值组成。Map里的key是不可重复的,key用于标识集合里的每项数据,如果需要查阅Map中的数据时,总是根据Map的key来获取。

上述所有的集合类,除了 map 系列的集合,即左边集合都实现了 Iterator 接口,这是一个用于遍历集合中元素的接口,主要hashNext(),next(),remove()三种方法。它的一个子接口 ListIterator 在它的基础上又添加了三种方法,分别是 add(),previous(),hasPrevious()。也就是说如果实现 Iterator 接口,那么在遍历集合中元素的时候,只能往后遍历,被遍历后的元素不会再被遍历到,通常无序集合实现的都是这个接口,比如HashSet;而那些元素有序的集合,实现的一般都是 LinkedIterator接口,实现这个接口的集合可以双向遍历,既可以通过next()访问下一个元素,又可以通过previous()访问前一个 元素,比如ArrayList。

集合详解
Iterator:迭代器,它是Java集合的顶层接口(不包括 map 系列的集合,Map接口 是 map 系列集合的顶层接口)

Object next():返回迭代器刚越过的元素的引用,返回值是 Object,需要强制转换成自己需要的类型

boolean hasNext():判断容器内是否还有可供访问的元素

void remove():删除迭代器刚越过的元素

所以除了 map 系列的集合,我们都能通过迭代器来对集合中的元素进行遍历。

注意:我们可以在源码中追溯到集合的顶层接口,比如 Collection 接口,可以看到它继承的是类 Iterable
Iterable :存在于 java.lang 包中。里面封装了 Iterator 接口。所以只要实现了只要实现了Iterable接口的类,就可以使用Iterator迭代器了。
Iterator :存在于 java.util 包中。核心的方法next(),hasnext(),remove()。

List :有序,可以重复的集合,List 接口是继承于 Collection 接口
List 接口的三个典型实现:

①、List list1 = new ArrayList();

底层数据结构是数组,查询快,增删慢;线程不安全,效率高

②、List list2 = new Vector();

底层数据结构是数组,查询快,增删慢;线程安全,效率低,几乎已经淘汰了这个集合

③、List list3 = new LinkedList();

底层数据结构是链表,查询慢,增删快;线程不安全,效率高
    
Set:是一个无序,不可重复的集合
  HashSet:不保证元素的添加顺序,底层采用 哈希表算法,查询效率高。判断两个元素是否相等,equals() 方法返回 true,hashCode() 值相等。即要求存入 HashSet 中的元素要覆盖 equals() 方法和 hashCode()方法
  TreeSet:不保证元素的添加顺序,但是会对集合中的元素进行排序。底层采用 红-黑 树算法(树结构比较适合范围查询)
Map:key-value 的键值对,key 不允许重复,value 可以

1、严格来说 Map 并不是一个集合,而是两个集合之间 的映射关系。

2、这两个集合没每一条数据通过映射关系,我们可以看成是一条数据。即 Entry(key,value)。Map 可以看成是由多个 Entry 组成。

3、因为 Map 集合即没有实现于 Collection 接口,也没有实现 Iterable 接口,所以不能对 Map 集合进行 for-each 遍历。

有容乃大--Java 集合相关推荐

  1. 有容乃大 ——Java集合(List/Set/Map)

    有容乃大 --Java集合(List/Set/Map) 数据结构的概念 数据结构定义: 数据结构是计算机对数据存储的一种安排. 就是计算机组织.存储数据的方式. 数据结构有哪些? 堆.栈.数组.队列. ...

  2. 有容乃大 -- Java 集合(List/Set/Map)

    集合框架 学习方法 [知识点的理解和认识] (1) 执行流程[顺序 选择 循环]->独立的方法的使用,对象:线程 (2) 面向对象的编程思想 将具有相同属性和行为的事物抽象出来,划分为类.每一个 ...

  3. 有容乃大——Java集合

    1.常见的数据结构 1.数组(ArrayList) 2.链表(LinkedList) 3.堆栈(栈) 特点 FILO 4.队列 FIFO 2.集合框架的体系 继承体系 Collection(所有集合类 ...

  4. collection集合 地址_有容乃大--Java 集合(List/Set/Map)

    1. Collection Collection 是所有集合类的父接口,它定义了集合类最基本的操作方法: Collection 接口 2. List 列表(List)实现了Collection,并拥有 ...

  5. 牛客网 编程初学者入门训练 BC3 有容乃大 Java

    题目来源:牛客网 编程初学者入门训练 BC3 有容乃大 public class Main {public static void main(String[] args) {System.out.pr ...

  6. AWS:云里乾坤,有容乃大

    作者|康翔 编辑|阿冒   设计|沐由 每年年底的AWS re:Invent,是每一位云计算从业者梦寐以求的舞台,这样说真的是毫不夸张. 每次,当我穿行于拉斯,要在三四天的时间里,从多达数百个论坛里找 ...

  7. [Google Guava] 2.3-强大的集合工具类:java.util.Collections中未包含的集合工具

    原文链接 译文链接 译者:沈义扬,校对:丁一 尚未完成: Queues, Tables工具类 任何对JDK集合框架有经验的程序员都熟悉和喜欢java.util.Collections包含的工具方法.G ...

  8. Java集合从菜鸟到大神演变

    转载自 Java集合从菜鸟到大神演变 先来看一张集合概况图,这里从上到下列举了几个最经常用的集合 1.集合接口 java.util.Collection 是一个集合接口.它提供了对集合对象进行基本操作 ...

  9. Java集合方面的面试题大汇总

    集合容器概述 什么是集合 集合框架:用于存储数据的容器. 集合框架是为表示和操作集合而规定的一种统一的标准的体系结构. 任何集合框架都包含三大块内容:对外的接口.接口的实现和对集合运算的算法. 它减少 ...

最新文章

  1. 常用的富文本框插件FreeTextBox、CuteEditor、CKEditor、FCKEditor、TinyMCE、KindEditor ;和CKEditor实例...
  2. Maven报错“未结束的字符串字面值”
  3. 类属性-属性查找机制-向上查找
  4. 网络字节序 —— 主机字节序 (Socket编程) 转
  5. 文石服务器维护,文石BOOX OS 2.0新系统即将上线,联合京东读书推出BOOX书城
  6. uc点网页显示服务器升级,让uc浏览器网页加载速度提升100%
  7. python列表引用_Python列表(list)的方法调用
  8. yum安装Apache Web Server后各个文件存放位置
  9. 嵌入式开发的职业前景分析
  10. python创建一个文本文件_利用python如何实现创建一个文本文件
  11. 【MATLAB教程案例22】基于MATLAB图像去噪算法仿真——中值滤波、高斯滤波以及频域滤波等
  12. 九宫格拼图小游戏代码html,js实现九宫格拼图小游戏.pdf
  13. 夸奖对方代码写的好_形容夸人的成语有哪些
  14. 隐藏在浏览器背后的“黑手”
  15. ES 关于text和keyword两种类型数据搜索区别
  16. 利用antd进行轻量级表单开发,获取验证码
  17. 中国思想和柏拉图哲学( 转载)
  18. 【AD小知识】PCB布线理论及实际操作
  19. html京东自动轮播,js 京东首页轮播图实现(透明度切换)
  20. Couldn‘t find meta-data for provider with authority xxx.fileProvider

热门文章

  1. console线与电脑连接
  2. Pytorch中retain_graph参数的作用
  3. 理论+实验——MHA高可用配置及故障切换
  4. DevExpress LookUpEdit 增加清空按钮
  5. C++中accumulate函数的使用
  6. “快乐宝宝”风波始末 (二)
  7. 如何在计算机上添加本地安全策略,Win10的本地安全策略怎么打开?两种Win10安全策略设置开启方法图解...
  8. MLDL视频教程资源
  9. PHP学习笔记1(入门)
  10. 中兴 F620 光猫电信超级密码破解