Java集合框架支持两种类型容器:

  • 一种是为了存储一个元素的合集,为Collection
  • 一种是为了存储键/值对,为Mapping

Collection包含

  • Set存储不重复的元素
  • List存储一个有序元素合集
  • Stack存储采用后进先出方式处理的对象
  • Queue存储采用先进先出方式处理的对象
  • Priority Queue存储优先级顺序处理的对象

Collection接口是一切合集的根接口,它继承了Iterable接口生成一个Iterator对象用于遍历元素,它为这些合集定义了通用的操作

Collection接口的方法

  • add(E):boolean
  • addAll(Collection<? extends E>):boolean
  • clear():void
  • contains(Object):boolean
  • containsAll(Collection<?>):boolean
  • equals(Object):boolean
  • hashCode():int
  • isEmpty():boolean
  • iterator():Iterator
  • remove(Object):boolean
  • removeAll(Collection<?>):boolean
  • removeIf(Predicate<? super E>):boolean
  • retainAll(Collection<?>):boolean
  • size():int

AbstractCollection抽象类提供了Collect接口的部分实现

  • boolean isEmpty()
  • boolean contains(Object)
  • Object[] toArray()
  • boolean remove(Object)
  • boolean containsAll(Collection<?>)
  • boolean addAll(Collection<? extends E>)
  • boolean removeAll(Collection<?>)
  • void clear()

List存储一个有序元素合集


Set是最简单的一种集合。集合中的对象不按特定的方式排序,并且没有重复对象


Queue是一种特殊的线性表,它只允许在表的前端进行删除操作,而在表的后端进行插入操作


Map将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值

Map接口中的方法

  • clear():void
  • containsKey(Object):boolean
  • containsValue(Object):boolean
  • entrySet():Set<Map.Entry<K, V>>
  • equals(Object):boolean
  • get(Object):V
  • getOrDefault(Object, V):V
  • hashCode():int
  • isEmpty():boolean
  • keySet():Set
  • put(K, V):V
  • putAll(Map<? extends K, ? extends V>):void
  • remove(Object):V
  • remove(Object, Object):boolean
  • replace(K, V):V
  • replace(K, V, V):boolean
  • replaceAll(BiFunction<? super K, ? super V, ? extends V>):void
  • size():int
  • values():Collection

AbstractMap是抽象类,实现了entrySet()之外的所有方法

干了这杯Java之集合概览的更多相关文章

  1. 干了这杯Java之LinkedList

    LinkedList和ArrayList一样实现了List接口 ArrayList内部为数组 LinkedList内外为双向链表 实现了Deque接口,双端列队的实现 图片来自Wiki 内部实现为No ...

  2. 干了这杯Java之Vector

    Vector实现了AbstractList抽象类和List接口,和ArrayList一样是基于Array存储的 Vector 是线程安全的,在大多数方法上存在synchronized关键字 //Vec ...

  3. 干了这杯java之ThreadLocal

    ThreadLocal Java篇 是什么 怎么用 源码 缺点 总结 是什么 ThreadLocal是一个关于创建线程局部变量的类,这个变量只能当前线程使用,其他线程不可用. ThreadLocal提 ...

  4. 干了这杯Java,让你的Idea比eclipse好用

    1.Idea基本配置 1.1 Idea简介 Idea是一个专门针对Java的集成开发工具(IDE),由Java语言编写.所以,需要有JRE运行环境并配置好环境变量.简单的说,Idea是写代码用的工具. ...

  5. 干了这杯Java之ArrayList

    List存储一个有序元素合集 List接口的实现类有: ArrayList,LinkedList,Vector,Stack ArrayList一个数组型的List 默认容量为10 private st ...

  6. 干了这杯Java之HashMap

    类: public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneab ...

  7. 干了这杯Java之transient关键字

    看源码的时候,发现transient这个关键字,不甚理解,查找资料发现:不被序列化 疑问: 静态变量是不是不被序列化? public class User implements Serializabl ...

  8. C#与C++、Java之比较概览

    转自C#与C++.Java之比较概览 C#与C++.Java之比较概览 Ben Albahari 著  荣耀 译 本文翻译时间较早.欢迎指出任何误失.谢谢. 感谢以下人士的支持和反馈(按字母先后顺序) ...

  9. 【Java】集合_学习笔记

    一.集合 1.集合类也称容器类,主要负责保存.盛装其他数据. 2.集合可以保存数量不确定的数据,保存具有映射关系的数据(也称关联数组). 3.Java5后提供一些多线程安全的集合类,放在java.ut ...

随机推荐

  1. Python学习笔记四

    一.装饰器 1.知识储备 函数对象 函数可以被引用 函数可以当参数传递 返回值可以是函数 可以当作容器的元素 def func1(): print (666) def func2(): print ( ...

  2. 解决git反复输入密码的问题

    打开git命令面板 cd到项目根目录 $ git config --global credential.helper store然后只输入一次密码,后面就不需要了

  3. 使用Spring ThreadPoolTaskExecutor实现多线程任务

    我们为何使用多线程,之前已经有讲过了,为了更快的处理多个任务,分割任务,或者调用多个毫无关联的第三方服务 其实spring就提供了ThreadPoolTaskExecutor这个类来实现线程池,线程池 ...

  4. UOJ#55. 【WC2014】紫荆花之恋 点分树 替罪羊树 平衡树 splay Treap

    原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ55.html 题解 做法还是挺容易想到的. 但是写的话…… 首先这种题如果只要求一棵树中的满足条件的点数( ...

  5. Eclipse4.8.0的svn插件离线安装说明

    Eclipse4.8.0离线安装Subclipse(SVN插件)的方法: Subclipse迁到github上了,地址:https://github.com/subclipse/subclipse/w ...

  6. SA:T1编写主函数法和T2Matlab自带的SA工具箱GUI法,两种方法实现对二元函数优化求解——Jason niu

    %SA:T1法利用Matlab编写主函数实现对定义域[-5,5]上的二元函数求最优解—Jason niu [x,y] = meshgrid(-5:0.1:5,-5:0.1:5); z = x.^2 + ...

  7. 20172328 2018-2019《Java软件结构与数据结构》第三周学习总结

    20172328 2018-2019<Java软件结构与数据结构>第三周学习总结 概述 Generalization 本周学习了第五章:队列.主要内容包含队列的处理过程.如何用对例如求解问 ...

  8. git彻底删除某个文件的全部log历史记录

    git filter-branch -f --tree-filter 'rm -rf vendor/gems' HEAD git push origin --force如果log历史较多 可能需要一点 ...

  9. MyBatis:SQL语句中的foreach的详细介绍

    foreach 也就是遍历迭代,在SQL中通常用在 in 这个关键词的后面foreach元素的属性主要有 item,index,collection,open,separator,close. 分别代 ...

  10. Django——RESTful架构

    一.REST简述 来自维基百科的解释: 表现层状态转换(REST,英文:Representational State Transfer)是Roy Thomas Fielding博士于2000年在他的博 ...