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. vue中html模板使用绑定的全局函数

    我们知道在script中使用vue绑定的全局函数时, 我们需要用这种方式使用: this.Util.Fun(e) 那在模板中, 比如v-if中想使用Fun函数怎么办呢?你应该这样做 <i v-i ...

  2. vmware安装centOs操作系统配置网络的一系列问题

    1:最近公司在测试项目,需要在linux操作系统上面测试,可惜自己之前学linux操作系统不是很深,配置网络也不是很熟练,网上方法太多,但是不是很好用,确实难为了自己一把,在这里自己总结一下配置网络的 ...

  3. scrapy相关 通过设置 FEED_EXPORT_ENCODING 解决 unicode 中文写入json文件出现`\uXXXX`

    0.问题现象 爬取 item: 2017-10-16 18:17:33 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.hu ...

  4. yii2的csrf验证原理分析及token缓存解决方案

    本文主要分三个部分,首先简单介绍csrf,接着对照源码重点分析一下yii框架的验证原理,最后针对页面缓存导致的token被缓存提出一种可行的方案.涉及的知识点会作为附录附于文末. 1.CSRF描述 C ...

  5. es elasticsearch-head安装

    ---恢复内容开始--- 参考 https://www.jianshu.com/p/36d7f97a20cd 1.下载安装git clone git://github.com/mobz/elastic ...

  6. Update修改方法判断该ID的数据是否超过24小时,超过不许修改

    @PostMapping("/update") public Result projectUpdate(@RequestBody ProjectVoEntity projectvo ...

  7. Android系统API综述

    下述能够找到Android开发源代码: 1. http://grepcode.com/project/repository.grepcode.com/java/ext/com.google.andro ...

  8. XVIII Open Cup named after E.V. Pankratiev. Grand Prix of Peterhof

    A. City Wall 找规律. #include<stdio.h> #include<iostream> #include<string.h> #include ...

  9. css 实现文字提示说明、文字绕图效果

    鼠标放在某个文字上时,展示文字的解释说明 代码: <!DOCTYPE html> <html lang="en"> <head> <met ...

  10. TP5在前端时间戳转换为时间格式

     value="{:date('Y-m-d H:i:s',$data['add_date'])}"  例如: <td>{:date('Y-m-d H:i:s',$d[' ...