当前位置: 首页 > news >正文

Java基础知识总结(14)

map集合

/*
java.util.Map接口中常用的方法
1、Map和Collection 没有继承关系
2、Map集合以key和value的方式存储数据:键值对key和valuea都是引用数据类型key和value都是存储对象的内存地址key起到主导地位,value是key的一个附属品
3、Map接口中常用的方法:Set(K) keySet()获取Map集合中所有的key(所有的键是一个set集合)V remove(Object key) 通过key删除键值对int size()获取Map集合中键值对的个数Collection<V> values() 获取Map集合中所有的value,返回一个Collectionset<Map.Entry<K,V>> entrySet()将Map集合转化为set集合假设现在有一个Map集合map集合对象key      value--------------1         zhangsan【Map 集合通过entrySet()方法转换成set集合,set集合中的元素类型是Map.Entry<K,V>】 Map.Entry 和 String一样,都是一种类型的名字,只不过:Map.Entry是静态内部类2         lisi3         wangwuSet set = map.entrySet();set集合对象1=zhangsan2=lisi3=wangwu
*/
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
​
public class MapTest {public static void main(String[] args) {//创建Map集合对象Map<Integer,String> map = new HashMap<>();//向Map集合中添加键值对map.put(1,"zhangsan");//1 在这里进行了自动装箱map.put(2,"lisi");map.put(3,"wangwu");//通过key获取valueString value = map.get(1);System.out.println(value);//获取所有的valueCollection<String> values =map.values();for(String s: values){System.out.println("所有的value值"+s);}//获取键值对数量System.out.println("键值对的数量:"+map.size());//通过key删除 key-valuemap.remove(2);System.out.println("键值对的数量:"+map.size());//判断是否包含某个key//contains 底层调用的是equals方法进行比较的,所以自定义的类型需要重写equals方法 重写equals方法比较的是内容System.out.println(map.containsKey(4));//false//判断是否包含某个valueSystem.out.println(map.containsValue("zhangsan"));//true//清空mapmap.clear();System.out.println("键值对的数量:"+map.size());//0//判断是否为空System.out.println(map.isEmpty());}
}

遍历Map集合

public class MapTest {public static void main(String[] args) {//创建Map集合对象Map<Integer,String> map = new HashMap<>();//向Map集合中添加键值对map.put(1,"zhangsan");//1 在这里进行了自动装箱map.put(2,"lisi");map.put(3,"wangwu");//第一种方法,获取所有的key,通过遍历key,从而遍历value//遍历key,获取所有的Key,key是一个set集合Set<Integer> keys = map.keySet();//遍历key,通过key获取value//迭代器可以Iterator<Integer> it = keys.iterator();while(it.hasNext()){Integer key = it.next();String value =map.get(key);System.out.println(key+"="+value);}//foreach也可以for(Integer key:keys){System.out.println(key+"="+map.get(key));}
​//第二种方式Set<Map.Entry<K,V>> entrySet()//这种方法是直接把Map集合转化为Set集合。//set集合中的元素类型是:Map.EntrySet<Map.Entry<Integer,String>> set = map.entrySet();//遍历Set集合,每一次取出一个node//迭代器
//        Iterator<Map.Entry<Integer,String>> it2 = set.iterator();
//        while(it2.hasNext()){
//            Map.Entry<Integer,String> node = it2.next(); node是一个静态内部类 实现了Map.Entry(K,V)接口
//            Integer key = node.getKey();
//            String value = node.getValue();
//            System.out.println(key+"="+key);
//        }
​//foreach//这种方式效率比较高,因为获取key和value都是直接从node对象中获取的属性值//这种方式比较适合大数据量for(Map.Entry<Integer,String> node:set){System.out.println(node.getKey()+"-->"+node.getValue());}}
}
http://www.lryc.cn/news/323545.html

相关文章:

  • MacOS - GCC 版本升级解决方案
  • 小程序绕过 sign 签名
  • 【Canvas与艺术】绘制动态太极图
  • Llama 2 模型
  • SQLiteC/C++接口详细介绍sqlite3_stmt类(十一)
  • 【理解机器学习算法】之Clustering算法(Agglomerative Clustering)
  • 千帆AppBuilder开发参考-应用API调用说明
  • python自定义日历库,与对应calendar库函数功能基本一致
  • css3鼠标悬停图片特效,图片悬停效果源码
  • 使用CSS3画出一个叮当猫HTML源码
  • Spring Boot 自动化单元测试类的编写过程
  • 复试专业前沿问题问答合集8-3——RNN、Hadoop、GPT大语言模型
  • 序列的使用
  • golang kafka sarama 源码解析
  • Flutter知识点整理
  • 现代游戏引擎架构
  • 深度学习:复杂工业场景下的复杂缺陷检测方法
  • CSDN个人简介优化 html font属性
  • 从哈希桶角度看 unordered_map 与 unordered_set 的实现
  • 飞天使-k8s知识点27-kubernetes温故知新2-deployment
  • 手机网页关键词视频爬虫采集软件可导出视频分享链接|视频无水印批量下载工具
  • 基于OpenCV的图像处理案例之图像矫正(Python)
  • 创建linux虚拟机系统:(安装Ubuntu镜像文件,包含语言设置、中文输入法、时间设置)
  • 3.0 V-22V 宽输入电压,高效率异步升压芯片-ZCC5429
  • Sphinx + Readthedocs 避坑速通指南
  • IPP-7010 表面贴装 90 度混合耦合器
  • 25.2 微服务Dubbo
  • CI/CD环境搭建
  • API调试管理工具Postman下载及操作介绍
  • vue集成百度地图,实现关键字搜索并自定义覆盖物,保存成静态图片