java之Map和Collection
java中保存对象的容器可分为两类:
1、Map。Map是以键值对的形式来保存一组对象,可以通过键来查找值。
2、Collection。用来保存独立对象的序列。Collection又可分为三种类型:
(1)List。按照插入的顺序保存对象。
(2)Set。无序,不能有重复元素。
(3)Queue。按照特定规则确定对象顺序,通常就是它们被插入时的顺序,也可根据具体需求设置优先级。
Map:
Map的常用方法
boolean containsKey(Object key) | 是否包含键key,是则返回 true。 |
boolean containsValue(Object value) | 是否包含值value,是则返回 true。 |
boolean isEmpty() | 如果此映射未包含键-值映射关系,则返回 true。 |
V put(K key, V value) | 插入键值对。若key已存在,返回value;否则,返回null。 |
void putAll(Map<? extends K,? extends V> m) | 将另一个Map对象复制到到此对象中。 |
V remove(Object key) | 根据key移除键值对,返回被删的值,若不存怎返回null。 |
void clear() | 清空所有key-value对。 |
V get(Object key) | 通过key查找value并返回,若无,则返回null。 |
int size() | 返回key-value对数量。 |
Set<Map.Entry<K,V>> entrySet() | 返回键值对的Set集。 |
Set<K> keySet() | 返回的key的Set集。 |
Collection<V> values() | 返回value的Collection集。 |
map是一种把key和value进行关联的容器,把key的哈希码作为索引,可以根据这个索引获取保存的值。但是,不同的key可以对应相同的value。
在这里,hash码决定了储存位置。关于java中是如何设置一个对象的哈希值的,可以参考我的另一篇随笔java中的hashCode()方法。
Map有两个常用的实现类HashMap和LinkedHashMap,这两个类的使用在我的另一篇随笔java之Map的使用中有较为详细的讲解。
Collection:
Collection的常用方法
int size() | 返回元素个数 |
boolean add(E e) | 添加元素,添加成功返回true |
boolean addAll(Collection<? extends E> c) | 将c中的所有元素添加到此对象中 |
void clear() | 移除此 collection 中的所有元素 |
boolean contains(Object o) | 若包含元素o,则返回 true |
boolean containsAll(Collection<?> c) | 若包含c 中的所有元素,则返回 true |
boolean isEmpty() | 若不包含元素,则返回 true |
Iterator<E> iterator() | 返回迭代器 |
boolean remove(Object o) | 移除元素o。若有元素被移除,返回true |
boolean removeAll(Collection<?> c) | 移除c中包含的所有元素,有改变即返回true |
boolean retainAll(Collection<?> c) | 仅保留c中包含的元素,有改即返回true |
转载于:https://www.cnblogs.com/zhisuoyu/p/5284823.html
java之Map和Collection相关推荐
- Java 集合类(Map和Collection)
1 引言 集合是java中提供的大小可变的容器. 集合分为单列结合Collection和双列集合Map. 集合和数组的区别: 数组的长度是固定的.集合的长度是可变的. 数组中存储的是同一类型的元素,可 ...
- java:集合(Collection【List(ArrayList Vector LinkedList)、set】、Map【hashMap、treeMap、hashtable、properties】)
目录 集合的框架体系 一.Collection接口和常用方法 1.1 List接口和常用方法 1.1.1 ArrayList底层结构和源码分析 1.1.2 Vector底层结构 1.1.3 L ...
- Java知识点04——集合(Set、List、Queue、Map、Collection和Iterator、Collections工具类)
Java知识点04--集合(Set.List.Queue.Map.Collection.Iterator.Collections工具类) 一.集合 1.1 集合概述 二.Collection 2.1 ...
- Java中Map用法详解
原文地址http://blog.csdn.net/guomutian911/article/details/45771621 原文地址http://blog.csdn.net/sunny2437885 ...
- CSV-03- csv 读写框架支持数组、Map、Collection 等常见集合
集合类 有时候对象中会包含数组.Map.Collection 等常见集合. 为了存储的便利性,默认提供集合的相关支持. 特性和普通字段保持一致,如果指定注解转换,则以注解为准. 使用示例 UserCo ...
- Java数据结构Map遍历和排序
map结构和list结合很好用,基本的遍历和排序每次都要查一下,用的不熟练,这里汇总下map的基本遍历和排序,参考的代码如下: package com.vip;import java.util.Arr ...
- java map集合遍历方法,Java的Map集合的三种遍历方法
集合的一个很重要的操作---遍历,学习了三种遍历方法,三种方法各有优缺点~~ 1. package com.myTest.MapText; import java.util.Collection; i ...
- 详解Java中Map用法
Map以按键/数值对的形式存储数据,这里要特别说明( Map.Entry,是Map的内部类,它用来描述Map中的键/值对). Map是一个接口,我们平时多用它的实现类HashMap. 用例如下: pu ...
- Java中Map集合类的用法(HashMap)
Map键值对,键(key)一般存储索引,值(value)一般存储对象. Map的特性即「键-值」(Key-Value)匹配 java.util.HashMap HashMap在内部使用哈希(Hash) ...
最新文章
- 树莓派:一个关于教育的故事
- 约瑟夫环之循环链表实现
- [数据结构]快速排序
- HDU - 4035 Maze(概率dp)
- Sublime text无法自动通过package control安装插件的研究
- 超参数优化 贝叶斯优化框架_mlmachine-使用贝叶斯优化进行超参数调整
- .NET IDE Rider公布2020.2路线图
- LeetCode 1427. 字符串的左右移
- java odjc ResultSet 的使用详解
- docker删除私有仓库中的镜像
- 启动和关闭oracle 实例,oracle实例和数据库启动与关闭.ppt
- 计算机病毒与恶意软件
- fusion360界面字体模糊处理方法
- Matlab fftshift and ifftshift and some confusions
- Qt Model/View 学习(6) - Delegate教程之——渲染
- HP Proliant DL360 G9使用业务网卡登录ILO管理
- 矩阵的谱分解 (详细推导步骤~~~特征值分解特征向量
- 如何高效优雅地下载CMIP6模式数据
- 视频会议设备大比拼,创新让科技更好的服务社会!
- 一份还热乎的蚂蚁金服面经(已拿Offer)!附答案!!
热门文章
- Windows 10推出周年更新,Edge浏览器支持扩展并改进JavaScript支持
- 两种方式实现js, ajax跨域
- c++如何对结构体作为形参设置默认值
- web.config 中SessionState的配置 [转]
- 通过java提供的URL类包读取网上的文件
- 合适是最好,声音选项里面 声音的硬件加速到底有什么用
- 无法启动 MS DTC 事务管理器。LogInit 返回错误 0x2. 怎么办?
- MONGODB 集群架构 调整,增加延迟备份节点服务器,删除仲裁节点
- java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
- android studio设置Tab为四空格缩进