HashMap简介

HashMap是一种非常常见、方便和有用的集合,是一种键值对(K-V)形式的存储结构

常见的方法如下:

  • put:将数据添加到集合中
  • get:获取集合中的元素
  • size:获取集合的长度
  • remove:移除集合中的键值对
  • containsKey:判断指定的key是否存在

实战演练

1.HashMap的用法案例

package cn.test.logan.day06;

import java.util.HashMap;

public class HashMapDemo {
public static void main(String[] args) {
// 构建一个hashmap对象
HashMap<String,String> map1 = new HashMap<>(); // 添加元素
map1.put("1", "Jack");
map1.put("2", "Logan");
map1.put("3", "Tom");
map1.put("4", "Alice"); // 获取元素
String a = map1.get("2");
System.out.println(a); // 获取长度
int size = map1.size();
System.out.println(size); // 从map1中移除元素
String b = map1.remove("3");
System.out.println(b); // 判断数据是否存在
boolean c = map1.containsKey("3");
System.out.println(c);
}
}

HashMapDemo.java

2.使用HashMap计算字符串中每个单词的数量

package cn.test.logan.day06;

import java.util.HashMap;
import java.util.Set; public class HashMapWordCount {
public static void main(String[] args) {
String str = "a,c,v,b,s,d,a,b,s,f,s";
String[] arr = str.split(","); HashMap<String,Integer> countMap = new HashMap<>(); /**
* 将数组中的元素依次装入到HashMap中,
* 如果已经存在HashMap中,那么在数量字段上加1
* 如果不存在,那么将字符存入,计数为1
*/
for(String word:arr) {
if(countMap.containsKey(word)) {
Integer value = countMap.get(word);
countMap.put(word, value+1);
}else {
countMap.put(word, 1);
}
}
/**
* 遍历HashMap,打印数据
*/
// 先取出所有的key
Set<String> keyset = countMap.keySet();
// 根据key,取出value
for(String key:keyset) {
Integer count = countMap.get(key);
System.out.println("字符"+key+",数量为:"+count);
}
}
}

HashMapWordCount.java

【BigData】Java基础_HashMap的更多相关文章

  1. Java基础-爬虫实战之爬去校花网网站内容

    Java基础-爬虫实战之爬去校花网网站内容 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 爬虫这个实现点我压根就没有把它当做重点,也没打算做网络爬虫工程师,说起爬虫我更喜欢用Pyt ...

  2. Java基础-类加载机制与自定义类Java类加载器(ClassLoader)

    Java基础-类加载机制与自定义类Java类加载器(ClassLoader) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 关于类加载器的概念和分类我就不再废话了,因为我在之前的笔 ...

  3. java基础-网络编程(Socket)技术选型入门之NIO技术

    java基础-网络编程(Socket)技术选型入门之NIO技术 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.传统的网络编程 1>.编写socket通信的MyServer ...

  4. Java基础-虚拟内存之映射字节缓冲区(MappedByteBuffer)

    Java基础-虚拟内存之映射字节缓冲区(MappedByteBuffer) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.映射字节缓冲区 1>.什么是虚拟内存 答:虚拟内 ...

  5. Java基础-零拷贝技术应用案例

    Java基础-零拷贝技术应用案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 零拷贝技术在Hadoop生态圈中很多组件得到应用,典型的比如kafka组件,它就很成功的应用了零拷贝 ...

  6. Java基础-数据类型应用案例展示

    Java基础-数据类型应用案例展示 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.把long数据转换成字节数组,把字节数组数据转换成long. /* @author :yinz ...

  7. Java基础-IO流对象之压缩流(ZipOutputStream)与解压缩流(ZipInputStream)

    Java基础-IO流对象之压缩流(ZipOutputStream)与解压缩流(ZipInputStream) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 之前我已经分享过很多的J ...

  8. Java基础-DButils工具类(QueryRunner)详解

    Java基础-DButils工具类(QueryRunner)详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 如果只使用JDBC进行开发,我们会发现冗余代码过多,为了简化JDBC ...

  9. Java基础-面向接口编程-JDBC详解

    Java基础-面向接口编程-JDBC详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.JDBC概念和数据库驱动程序 JDBC(Java Data Base Connectiv ...

随机推荐

  1. jdk1.8 Stream 特性总结

    不是数据结构 它没有内部存储,它只是用操作管道从 source(数据结构.数组.generator function.IO channel)抓取数据. 它也绝不修改自己所封装的底层数据结构的数据.例如 ...

  2. vue-v-xxx基于 Vue拓展的 v-xxx 库

    君问归期未有期,巴山夜雨涨秋池. 何当共剪西窗烛,却话巴山夜雨时. 作为vue轻车熟路的老司机,经常会用到一些指令,vue官方提供的指令又太少,无法满足旺盛的欲望,而每次要写一遍,终日郁郁寡欢,从小就 ...

  3. 【LeetCode】145. Binary Tree Postorder Traversal

    Difficulty: Hard  More:[目录]LeetCode Java实现 Description https://leetcode.com/problems/binary-tree-pos ...

  4. JNDI学习总结(一):JNDI到底是什么?

    https://blog.csdn.net/wn084/article/details/80729230 分类专栏: JNDI  JNDI是 Java 命名与目录接口(Java Naming and ...

  5. Centos7 日志查看工具

    1  概述     日志管理工具journalctl是centos7上专有的日志管理工具,该工具是从message这个文件里读取信息.Systemd统一管理所有Unit的启动日志.带来的好处就是,可以 ...

  6. Spring事务源码解析(二)获取增强

    在上一篇文章@EnableTransactionManagement注解解析中,我们搭建了源码阅读的环境,以及解析了开启Spring事务功能的注解@EnableTransactionManagemen ...

  7. jQuery中的动画(七)

    一.jQuery对象样式相关方法1.设置高度和宽度height([num])    [获取或设置样式属性height的值]获取匹配元素中第一个元素的height样式值或给匹配所有元素设置height样 ...

  8. Promise 封装 ajax

    Promise 封装ajax 成链式结构: var url = 'http'; function(method, url) { return new Promise(function(res, ret ...

  9. error LNK2019: 无法解析的外部符号 _Direct3DCreate9@4,该符号在函数 "long __cdecl InitD3D(struct HWND__ *)" (?InitD3D

    出现如下错误: error LNK2019: 无法解析的外部符号 _Direct3DCreate9@4,该符号在函数 "long __cdecl InitD3D(struct HWND__ ...

  10. jquery实现一些小动画一

    jquery实现小动画 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...