【BigData】Java基础_HashMap
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的更多相关文章
- Java基础-爬虫实战之爬去校花网网站内容
Java基础-爬虫实战之爬去校花网网站内容 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 爬虫这个实现点我压根就没有把它当做重点,也没打算做网络爬虫工程师,说起爬虫我更喜欢用Pyt ...
- Java基础-类加载机制与自定义类Java类加载器(ClassLoader)
Java基础-类加载机制与自定义类Java类加载器(ClassLoader) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 关于类加载器的概念和分类我就不再废话了,因为我在之前的笔 ...
- java基础-网络编程(Socket)技术选型入门之NIO技术
java基础-网络编程(Socket)技术选型入门之NIO技术 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.传统的网络编程 1>.编写socket通信的MyServer ...
- Java基础-虚拟内存之映射字节缓冲区(MappedByteBuffer)
Java基础-虚拟内存之映射字节缓冲区(MappedByteBuffer) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.映射字节缓冲区 1>.什么是虚拟内存 答:虚拟内 ...
- Java基础-零拷贝技术应用案例
Java基础-零拷贝技术应用案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 零拷贝技术在Hadoop生态圈中很多组件得到应用,典型的比如kafka组件,它就很成功的应用了零拷贝 ...
- Java基础-数据类型应用案例展示
Java基础-数据类型应用案例展示 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.把long数据转换成字节数组,把字节数组数据转换成long. /* @author :yinz ...
- Java基础-IO流对象之压缩流(ZipOutputStream)与解压缩流(ZipInputStream)
Java基础-IO流对象之压缩流(ZipOutputStream)与解压缩流(ZipInputStream) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 之前我已经分享过很多的J ...
- Java基础-DButils工具类(QueryRunner)详解
Java基础-DButils工具类(QueryRunner)详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 如果只使用JDBC进行开发,我们会发现冗余代码过多,为了简化JDBC ...
- Java基础-面向接口编程-JDBC详解
Java基础-面向接口编程-JDBC详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.JDBC概念和数据库驱动程序 JDBC(Java Data Base Connectiv ...
随机推荐
- KVM虚拟机网络配置 Bridge方式,NAT方式
https://blog.csdn.net/hzhsan/article/details/44098537/
- Regex 提取字符串中重复数据且格式化显示
方法:用 $下标 提取满足项的值 /** * 餐食信息格式转换 * @早餐,1@晚餐,2 => 早餐(1份):晚餐(2份) */ convertMealInfo = (mealInfo ...
- C#使用Redis实现网站统计访问数或点赞数功能!
1.安装.net操作Redis需要的NuGet包: 这里推荐使用:StackExchange.Redis,在程序包管理器控制台输入命令install-package stackexchange.red ...
- 2019 多点Dmalljava面试笔试题 (含面试题解析)
本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.多点Dmall等公司offer,岗位是Java后端开发,因为发展原因最终选择去了多点Dmall,入职一年时间了 ...
- Java自学-集合框架 与数组的区别
Java集合框架与数组的区别 示例 1 : 使用数组的局限性 如果要存放多个对象,可以使用数组,但是数组有局限性 比如 声明长度是10的数组 不用的数组就浪费了 超过10的个数,又放不下 //Test ...
- vim操作:打开多个文件、同时显示多个文件、在文件之间切换
打开多个文件: 1.vim还没有启动的时候: 在终端里输入 vim file1 file2 ... filen 便可以打开所有想要打开的文件 2.vim已经启动 输入 :open file 可以再打开 ...
- .NetCore之基础
.NetCore几大特点 这篇文章主要从.NetCore全面开源.依赖注入.包引入.跨平台.应用服务器的特点来入手.大约需要10分钟的阅读时间. 与.Net的区别 在.Net与.NetCore在代码编 ...
- vue-cli vue脚手架搭建步骤
提前在E:\nodejs文件夹下建立node_gobal和node_cache 并配置环境变量NODE_PATH:E:\nodejs\node_global\node_modules 改变用户变量中的 ...
- Qt隐式共享机制
1.浅拷贝 浅拷贝-引用类型.浅拷贝是指源对象与拷贝对象共用一份实体,仅仅是引用的变量不同(名称不同),对其中任何一个对象的改动都会影响另外一个对象. 2.深拷贝 而深拷贝-值类型.深拷贝是指源对象与 ...
- H5新增form控件和表单属性
第一个知识点:表单的属性及总结 第二个知识点:H5新增的表单控件和属性以及总结 第一个知识点: 我们常见的表单验证有哪些呢 text 文本框标签 password 密码框 checkbox 多选框 r ...