干了这杯Java之集合概览
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之集合概览的更多相关文章
- 干了这杯Java之LinkedList
LinkedList和ArrayList一样实现了List接口 ArrayList内部为数组 LinkedList内外为双向链表 实现了Deque接口,双端列队的实现 图片来自Wiki 内部实现为No ...
- 干了这杯Java之Vector
Vector实现了AbstractList抽象类和List接口,和ArrayList一样是基于Array存储的 Vector 是线程安全的,在大多数方法上存在synchronized关键字 //Vec ...
- 干了这杯java之ThreadLocal
ThreadLocal Java篇 是什么 怎么用 源码 缺点 总结 是什么 ThreadLocal是一个关于创建线程局部变量的类,这个变量只能当前线程使用,其他线程不可用. ThreadLocal提 ...
- 干了这杯Java,让你的Idea比eclipse好用
1.Idea基本配置 1.1 Idea简介 Idea是一个专门针对Java的集成开发工具(IDE),由Java语言编写.所以,需要有JRE运行环境并配置好环境变量.简单的说,Idea是写代码用的工具. ...
- 干了这杯Java之ArrayList
List存储一个有序元素合集 List接口的实现类有: ArrayList,LinkedList,Vector,Stack ArrayList一个数组型的List 默认容量为10 private st ...
- 干了这杯Java之HashMap
类: public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneab ...
- 干了这杯Java之transient关键字
看源码的时候,发现transient这个关键字,不甚理解,查找资料发现:不被序列化 疑问: 静态变量是不是不被序列化? public class User implements Serializabl ...
- C#与C++、Java之比较概览
转自C#与C++.Java之比较概览 C#与C++.Java之比较概览 Ben Albahari 著 荣耀 译 本文翻译时间较早.欢迎指出任何误失.谢谢. 感谢以下人士的支持和反馈(按字母先后顺序) ...
- 【Java】集合_学习笔记
一.集合 1.集合类也称容器类,主要负责保存.盛装其他数据. 2.集合可以保存数量不确定的数据,保存具有映射关系的数据(也称关联数组). 3.Java5后提供一些多线程安全的集合类,放在java.ut ...
随机推荐
- iOS开发之微信平台分享
在工程开始之前应该先准备在微信开放平台申请的appid,从微信平台下载sdk文件.下面开始步骤讲述 1.先将SDK导入工程目录 2.在info.plist文件设置相关信息,包括appid标识.白名单 ...
- Mysql err 1055
目录: 错误信息 原因分析 解决方案 操作示例 错误信息 [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause ...
- MySQL入门命令
SQL(Structured Query Language) SQL是结构化查询语言,是一种用来操作RDBMS的数据库语言,当前关系型数据库都支持使用SQL语言进行操作,也就是说可以通过 SQL 操作 ...
- POST Raw JSON提交
contentType: "application/json", data: JSON.stringify( { org: org, worksite_info: info }), ...
- echart 饼状图自定义样式
echarts.init(document.getElementById('WaterCategoryStatistics')).setOption({ legend: { orient:'verti ...
- lambda表达式——写多线程
JDK1.8 中Lambda 表达式的出现,基本可以取替原来的匿名类实现多线程的方式.下面列举常用的常用的三种情况. 一.普通开启异步线程 new Thread(() -> System.o ...
- 下面为初学者分享一下SQL 数据库学习资料
一.基础 1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份 ...
- XV Open Cup named after E.V. Pankratiev. GP of Three Capitals
A. Add and Reverse 要么全部都选择$+1$,要么加出高$16$位后翻转位序然后再补充低$16$位. #include<stdio.h> #include<iostr ...
- 使用boost.python封装C++库
使用boost.python封装C++库 C++以高性能著称,但是编写较为复杂.而简洁是Python的强项.如果能珠联璧合,就能发挥两家之长.本文尝试用boost库的python模块封装C++ 前期准 ...
- (73)Wangdao.com第十二天_JavaScript consol 对象与控制台
consol 对象 console对象是 JavaScript 的原生对象 它有点像 Unix 系统的标准输出stdout和标准错误stderr, 可以输出各种信息到控制台,并且还提供了很多有用的辅助 ...