特点:将键映射到值的对象,一个映射不能包含重复的键,每个键最多只能映射到一个值。

Map集合和Collection集合的区别

Map集合:成对出现 (情侣)                                               双列集合

Collection:单个出现  (单身狗)   所以功能才这么多               单列集合

Key:键  Value:值

功能

1、添加功能

V put(K key,V value):添加元素

如果键是第一次存储,就直接存储,返回null

如果键不是第一次存储,就用值把以前的值替换掉,返回以前的值

2、删除功能

void clear():移除所有的键值段

V remove(Object key):根据键删除键值对元素,并把值返回

3、判断功能

boolean containsKey(Object Key):判断集合是否包含指定的键

boolean containsValue(Object Value):判断集合是否包含指定的值

boolean isEmpty():判读集合是否为空

4、获取功能

Set<Map,Entry<K,V>> entrySet():返回的是键值对对象的集合

V get(Object Key):根据键获取值

Set<K> keySey():获取集合中所有键的集合

Collection<V> values():获取集合中所有值的集合

5、长度功能

int size()

Map集合的遍历

方法:

1、获取所有的键:keySet()

2、遍历键的集合,获取得到每一个键:增强for

3、根据键去找值:get()

用代码表示为:

public static void main(String[] args ) {

Map<String,String> map = new HashMap<String,String> ();

m.put(“周杰伦”,“昆凌”);

m.put(“黄晓明”,“杨颖”);

Set<String> set = map.keySet<>;

for (String s : set) {

String value = map.get(key);

System.out.println(key+"----"+value);

}

}

HashMap和HashTable的区别

HashMap:线程不安全,效率高;允许null键和null值

HashTable:线程安全,效率低;不允许null键和null值

Collections类:是针对集合操作的工具类,属于静态方法

Collection和Collections的区别:

Collection:是单列集合的顶层接口

Collections:是针对集合操作的工具类

Map集合总结:

A、Map集合的数据结构仅仅针对键有效,与值无关

B、存储的是键值对形式的元素,键唯一,可重复

集合的常见方法及遍历方式

Collection()                      Map()

1、添加功能            add()                             put

2、删除功能            remove()                        remove()

3、判断功能            contains()                       containsKey()、containsValue()

4、获取功能            iterator()                        KeySet()、get()、entrySet()、

5、长度功能            size()                             size()

6、遍历方式            增强for、迭代器                根据键找值、根据键值对对象分别找键和值

Map集合及与Collection的区别、HashMap和HashTable的区别、Collections、的更多相关文章

  1. HashMap和Hashtable的区别--List,Set,Map等接口是否都继承自Map接口--Collection和Collections的区别

    面试题: 1.HashMap和Hashtable的区别? HashMap:线程不安全,效率高,键和值都允许null值 Hashtable:线程安全,效率低,键和值都不允许null值 ArrayList ...

  2. java集合框架collection(4)HashMap和Hashtable的区别

    HashMap和Hashtable的区别 HashMap和Hashtable都实现了Map接口,但决定用哪一个之前先要弄清楚它们之间的分别.主要的区别有:线程安全性,同步(synchronizatio ...

  3. Java 集合系列 11 hashmap 和 hashtable 的区别

    java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...

  4. Java集合详解4:一文读懂HashMap和HashTable的区别以及常见面试题

    <Java集合详解系列>是我在完成夯实Java基础篇的系列博客后准备开始写的新系列. 这些文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查 ...

  5. java集合框架之HashMap和Hashtable的区别

    参考http://how2j.cn/k/collection/collection-hashmap-vs-hashtable/692.html#nowhere HashMap和Hashtable的区别 ...

  6. Java自学-集合框架 HashMap和Hashtable的区别

    HashMap和Hashtable之间的区别 步骤 1 : HashMap和Hashtable的区别 HashMap和Hashtable都实现了Map接口,都是键值对保存数据的方式 区别1: Hash ...

  7. 一、基础篇--1.2Java集合-HashMap和HashTable的区别

    HashMap和HashTable的区别 1.继承的父类不同,HashMap继承的是AbstractMap类,HashTable继承的是Dictionary类,不过都实现了Map.Clone.Seri ...

  8. hashMap和hashTable的区别

    每日总结,每天进步一点点 hashMap和hashTable的区别 1.父类:hashMap=>AbstractMap hashTable=>Dictionary 2.性能:hashMap ...

  9. 面试题·HashMap和Hashtable的区别(转载再整理)

    原文链接: Javarevisited 翻译: ImportNew.com- 唐小娟 译文链接: http://www.importnew.com/7010.html HashMap和Hashtabl ...

随机推荐

  1. swift 学习笔记

    1. 数组中取出字符串的方法: 1)let string = "\arr[0]" 2) let string = String(stringInterpolationSegment ...

  2. SQL Server5个系统数据库

    SQL Server一共有5个系统数据库:master:记录SQL Server系统的所有系统级信息,例如:登陆账户信息.链接服务器和系统配置设置.记录其他所有数据库的存在.数据文件的位置.SQL S ...

  3. [MySQL Reference Manual]15. 其他存储引擎

    15. 其他存储引擎 15. 其他存储引擎 15.1 设置存储引擎 15.2 MyISAM存储引擎 15.2.1 MyISAM启动选项 15.2.2 Key的空间要求 15.2.3 MyISAM表存储 ...

  4. 织梦Dedecms安全设置

    织梦DedeCMS是一款非常流行的CMS,很多刚开始建站人都用的织梦,一方面是织梦比较容易操作;另一方面是织梦的SEO方面做的确实比其他的系统要好一些.这些都导致织梦的用户群是非常庞大的,用的人多了, ...

  5. exynos4412中断编程

    中断概述 我们知道,ARM核能处理的异常有7种,但仅仅区分异常的种类显然不能够满足需求.拿手机来说,触摸屏幕和按下音量键可能都是irq异常,但是ARM并不能将他们区分开,而事实的情况是针对这两种中断, ...

  6. js 的 protype 小总结

    这里是对该文的总结: 1.Javascript中对象的prototype属性的解释是:返回对象类型原型的引用.   2.原型法的主要思想是,现在有1个类A,我想要创建一个类B,这个类是以A为原型的,并 ...

  7. GDB 完全教程

    一.简介 GDB是一个功能强大的调试器,它是一个自由软件,能够用在许多UNIX平台上.它同时也是Linux系统中的默认调试器.GDB已被移植到许多其他的计算机平台上,并且能够用于调试嵌入式实时系统.一 ...

  8. windows中,端口查看&关闭进程及Kill使用

    测试过程中遇到的问题,杂记一: 1.netstat -ano | findstr "8001"    查看端口8001被哪个进程占用:由下图可以看出,被进程为3736的占用 2.查 ...

  9. 无表头单链表的总结----从a链表中删去与b链表中有相同ID的那些节点

    #include"head.h" struct Student* del_same_ID(struct Student*p1, struct Student*p2) { struc ...

  10. ubuntu 14.04 配置tomacat8

    自己在虚拟机总安装tomcat8,主机访问,记下步骤方便以后查看. 1.将tomcat8安装包移动到/usr/local目录中(个人喜欢把自己安装的软件放到/usr/local文件夹中) 2.解压缩, ...