HashMap和Hashtable之间的区别

步骤 1 : HashMap和Hashtable的区别

HashMap和Hashtable都实现了Map接口,都是键值对保存数据的方式

区别1:

HashMap可以存放 null

Hashtable不能存放null

区别2:

HashMap不是线程安全的类

Hashtable是线程安全的类

package collection;

import java.util.HashMap;
import java.util.Hashtable; public class TestCollection {
public static void main(String[] args) { //HashMap和Hashtable都实现了Map接口,都是键值对保存数据的方式 HashMap<String,String> hashMap = new HashMap<String,String>(); //HashMap可以用null作key,作value
hashMap.put(null, "123");
hashMap.put("123", null); Hashtable<String,String> hashtable = new Hashtable<String,String>();
//Hashtable不能用null作key,不能用null作value
hashtable.put(null, "123");
hashtable.put("123", null); }
}

练习反转key和value

使用如下键值对,初始化一个HashMap:

adc - 物理英雄

apc - 魔法英雄

t - 坦克

对这个HashMap进行反转,key变成value,value变成key

提示: keySet()可以获取所有的key, values()可以获取所有的value

答案 :

package collection;

import java.util.Collection;
import java.util.HashMap;
import java.util.Set; public class TestCollection {
public static void main(String[] args) {
HashMap<String,String> map = new HashMap<>();
HashMap<String,String> temp = new HashMap<>();
map.put("adc", "物理英雄");
map.put("apc", "魔法英雄");
map.put("t", "坦克"); System.out.println("初始化后的Map:");
System.out.println(map);
Set<String> keys = map.keySet(); for (String key : keys) {
String value = map.get(key);
temp.put(value, key);
}
map.clear();
map.putAll(temp); System.out.println("反转后的Map:");
System.out.println(map); }
}

Java自学-集合框架 HashMap和Hashtable的区别的更多相关文章

  1. Java自学-集合框架 HashMap

    Java集合框架 HashMap 示例 1 : HashMap的键值对 HashMap储存数据的方式是-- 键值对 package collection; import java.util.HashM ...

  2. Java自学-集合框架 ArrayList和LinkedList的区别

    ArrayList和LinkedList的区别 步骤 1 : ArrayList和LinkedList的区别 ArrayList ,插入,删除数据慢 LinkedList, 插入,删除数据快 Arra ...

  3. Java自学-集合框架 ArrayList和HashSet的区别

    Java ArrayList和HashSet的区别 示例 1 : 是否有顺序 ArrayList: 有顺序 HashSet: 无顺序 HashSet的具体顺序,既不是按照插入顺序,也不是按照hashc ...

  4. Java自学-集合框架 HashSet

    Java集合框架 HashSet 示例 1 : 元素不能重复 Set中的元素,不能重复 package collection; import java.util.HashSet; public cla ...

  5. Java自学-集合框架 Collections

    Java集合框架 工具类Collections Collections是一个类,容器的工具类,就如同Arrays是数组的工具类 步骤 1 : 反转 reverse 使List中的数据发生翻转 pack ...

  6. Java自学-集合框架 Collection

    Java集合框架 Collection Collection是一个接口 步骤 1 : Collection Collection是 Set List Queue和 Deque的接口 Queue: 先进 ...

  7. Java自学-集合框架 二叉树

    Java集合框架 二叉树 示例 1 : 二叉树概念 二叉树由各种节点组成 二叉树特点: 每个节点都可以有左子节点,右子节点 每一个节点都有一个值 package collection; public ...

  8. Java自学-集合框架 LinkedList

    Java集合框架 LinkedList 序列分先进先出FIFO,先进后出FILO FIFO在Java中又叫Queue 队列 FILO在Java中又叫Stack 栈 示例 1 : LinkedList ...

  9. Java自学-集合框架 与数组的区别

    Java集合框架与数组的区别 示例 1 : 使用数组的局限性 如果要存放多个对象,可以使用数组,但是数组有局限性 比如 声明长度是10的数组 不用的数组就浪费了 超过10的个数,又放不下 //Test ...

随机推荐

  1. element-ui里el-form的lable颜色怎么修改?

    就是把style改写成全局的,不要scoped(注意class,id的唯一,不要影响了整体布局) 链接:https://segmentfault.com/q/1010000017251094

  2. 吴裕雄 python 机器学习——支持向量机线性回归SVR模型

    import numpy as np import matplotlib.pyplot as plt from sklearn import datasets, linear_model,svm fr ...

  3. 折纸(folding)

    问题 C: 折纸 时间限制: 1 Sec  内存限制: 128 MB[提交] [状态] 题目描述 现有一个W*H的矩形纸张,求至少要折多少次才能使矩形纸张变成w*h的矩形纸张.注意,每次的折痕都要平行 ...

  4. IDE - IDEA - tab - 方法相关的移动

    1. 概述 标题可能会改 一个 tab 里方法相关的操作 2. 前提 以默认的模式编辑 tab 对我来说, 就关掉 vim 插件 3. 操作 1. 查看文件结构 概述 唤出当前文件的 结构 唤出后可以 ...

  5. 无显示器安装raspberry zero w树莓派 zero w

    笔者的环境 1. Macbook 电脑用于烧录树莓派系统到SD卡 2. 树莓派 zero w 把SD卡放进读卡器,插到Mac电脑上, 打开命令行工具Terminal diskutil list列出di ...

  6. HTML5学习(7)多媒体元素

    视频元素video <video src="./media/xxx.mp4" controls autoplay muted loop></video> 音 ...

  7. pyqt:布局删除小部件

    参照:https://stackoverflow.com/questions/5899826/pyqt-how-to-remove-a-widget import sip layout.removeW ...

  8. iOS 音视频播放

    播放控制切换为: ijkplayer wiki: https://github.com/changsanjiang/SJVideoPlayer/wiki/Use-ijkplayer 播放控制切换为: ...

  9. Comparable

    为什么会有Comparable与Comparator接口? 引入策略模式   目录 引入 Comparable接口的来龙去脉 引入Comparator接口 什么是策略模式? 使用了策略模式有什么好处? ...

  10. 吴裕雄--天生自然神经网络与深度学习实战Python+Keras+TensorFlow:TensorFlow与神经网络的实现

    import tensorflow as tf import numpy as np ''' 初始化运算图,它包含了上节提到的各个运算单元,它将为W,x,b,h构造运算部件,并将它们连接 起来 ''' ...