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相关推荐

  1. Java 集合类(Map和Collection)

    1 引言 集合是java中提供的大小可变的容器. 集合分为单列结合Collection和双列集合Map. 集合和数组的区别: 数组的长度是固定的.集合的长度是可变的. 数组中存储的是同一类型的元素,可 ...

  2. 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 ...

  3. Java知识点04——集合(Set、List、Queue、Map、Collection和Iterator、Collections工具类)

    Java知识点04--集合(Set.List.Queue.Map.Collection.Iterator.Collections工具类) 一.集合 1.1 集合概述 二.Collection 2.1 ...

  4. Java中Map用法详解

    原文地址http://blog.csdn.net/guomutian911/article/details/45771621 原文地址http://blog.csdn.net/sunny2437885 ...

  5. CSV-03- csv 读写框架支持数组、Map、Collection 等常见集合

    集合类 有时候对象中会包含数组.Map.Collection 等常见集合. 为了存储的便利性,默认提供集合的相关支持. 特性和普通字段保持一致,如果指定注解转换,则以注解为准. 使用示例 UserCo ...

  6. Java数据结构Map遍历和排序

    map结构和list结合很好用,基本的遍历和排序每次都要查一下,用的不熟练,这里汇总下map的基本遍历和排序,参考的代码如下: package com.vip;import java.util.Arr ...

  7. java map集合遍历方法,Java的Map集合的三种遍历方法

    集合的一个很重要的操作---遍历,学习了三种遍历方法,三种方法各有优缺点~~ 1. package com.myTest.MapText; import java.util.Collection; i ...

  8. 详解Java中Map用法

    Map以按键/数值对的形式存储数据,这里要特别说明( Map.Entry,是Map的内部类,它用来描述Map中的键/值对). Map是一个接口,我们平时多用它的实现类HashMap. 用例如下: pu ...

  9. Java中Map集合类的用法(HashMap)

    Map键值对,键(key)一般存储索引,值(value)一般存储对象. Map的特性即「键-值」(Key-Value)匹配 java.util.HashMap HashMap在内部使用哈希(Hash) ...

最新文章

  1. 树莓派:一个关于教育的故事
  2. 约瑟夫环之循环链表实现
  3. [数据结构]快速排序
  4. HDU - 4035 Maze(概率dp)
  5. Sublime text无法自动通过package control安装插件的研究
  6. 超参数优化 贝叶斯优化框架_mlmachine-使用贝叶斯优化进行超参数调整
  7. .NET IDE Rider公布2020.2路线图
  8. LeetCode 1427. 字符串的左右移
  9. java odjc ResultSet 的使用详解
  10. docker删除私有仓库中的镜像
  11. 启动和关闭oracle 实例,oracle实例和数据库启动与关闭.ppt
  12. 计算机病毒与恶意软件
  13. fusion360界面字体模糊处理方法
  14. Matlab fftshift and ifftshift and some confusions
  15. Qt Model/View 学习(6) - Delegate教程之——渲染
  16. HP Proliant DL360 G9使用业务网卡登录ILO管理
  17. 矩阵的谱分解 (详细推导步骤~~~特征值分解特征向量
  18. 如何高效优雅地下载CMIP6模式数据
  19. 视频会议设备大比拼,创新让科技更好的服务社会!
  20. 一份还热乎的蚂蚁金服面经(已拿Offer)!附答案!!

热门文章

  1. Windows 10推出周年更新,Edge浏览器支持扩展并改进JavaScript支持
  2. 两种方式实现js, ajax跨域
  3. c++如何对结构体作为形参设置默认值
  4. web.config 中SessionState的配置 [转]
  5. 通过java提供的URL类包读取网上的文件
  6. 合适是最好,声音选项里面 声音的硬件加速到底有什么用
  7. 无法启动 MS DTC 事务管理器。LogInit 返回错误 0x2. 怎么办?
  8. MONGODB 集群架构 调整,增加延迟备份节点服务器,删除仲裁节点
  9. java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
  10. android studio设置Tab为四空格缩进