Map集合实例练习一

Map集合实例练习一    java基础是关键,当你掌握一定的知识量的时候,但感觉其实还是基础是关键,很多框架都是固定的,只要掌握框架的配置,再加基础,相信你也就可以入这行了。选择有很多,要么及早的地放弃,不要浪费青春时光与金钱,要么坚持不放弃,一直干下去….失败不可怕,可怕的是不敢面对失败。好了,加油!!!引导语,就简单的说到这里。      Map概念Map集合的特点,如是否可重复,…

大家好,又见面了,我是你们的朋友全栈君。

        java基础是关键,当你掌握一定的知识量的时候,但感觉其实还是基础是关键,很多框架都是固定的,只要掌握框架的配置,再加基础,相信你也就可以入这行了。选择有很多,要么及早的地放弃,不要浪费青春时光与金钱,要么坚持不放弃,一直干下去….失败不可怕,可怕的是不敢面对失败。好了,加油!!!引导语,就简单的说到这里。        

 Map概念

Map集合的特点,如是否可重复,是否有序仅作用在键上,如HashMap集合的键不得重复,值可以重复。

我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式不同,如下图。

  • Collection中的集合,元素是孤立存在的(理解为单身),向集合中存储元素采用一个个元素的方式存储。

  • Map中的集合,元素是成对存在的(理解为夫妻)。每个元素由键与值两部分组成,通过键可以找对所对应的值。

  • Collection中的集合称为单列集合,Map中的集合称为双列集合。

  • 需要注意的是,Map中的集合不能包含重复的键,值可以重复;每个键只能对应一个值。

  • Map中常用的集合为HashMap集合、LinkedHashMap集合。Hashtable也是Map集合的一种已被HashMap取代。

Map接口中常用集合概述

通过查看Map接口描述,看到Map有多个子类,这里我们主要讲解常用的HashMap集合、LinkedHashMap集合。

  • HashMap<K,V>:存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。

  • LinkedHashMap<K,V>:HashMap下有个子类LinkedHashMap,存储数据采用的哈希表结构+链表结构。通过链表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。

  • 注意:Map接口中的集合都有两个泛型变量<K,V>,在使用时,要为两个泛型变量赋予数据类型。两个泛型变量<K,V>的数据类型可以相同,也可以不同。

 

1.1.3 Map的常用方法

Map(HashMap)的使用:创建对象时加入两个泛型。

Map<k,v>

    key – 此映射所维护的键的类型

    value – 映射值的类型

  • put方法:将指定的键与值对应起来,并添加到集合中

    • 方法返回值为键所对应的值

               使用put方法时,若指定的键(key)在集合中没有,则没有这个键对应的值,返回null,并把指定的键值添加到集合中;

               使用put方法时,若指定的键(key)在集合中存在,则返回值为集合中键对应的值(该值为替换前的值),并把指定键所对应的值,替换成指定的新值。

  • get方法:获取指定键(key)所对应的值(value)

  • remove方法:根据指定的键(key)删除元素,返回被删除元素的值(value)。

简单的map集合的Put方法实例代码,供新手练习参考使用:

package cn.map2;

import java.util.HashMap;
import java.util.Map;

public class MapDemo1 {
	public static void main(String[] args) {
		//创建一个hashMap集合
		Map<String, String> map1 = new HashMap<String,String>();
		map1.put("小明", "我是湖南人");
		map1.put("小红", "我是湖北人");
		map1.put("小李", "我是北京人");
		map1.put("小东", "我是上海人");
		System.out.println(map1);
		String value=map1.remove("小东");
		System.out.println(value);
		System.out.println(map1);
		
	}
}

以上输出结果 为:

{小李=我是北京人, 小明=我是湖南人, 小东=我是上海人, 小红=我是湖北人}
我是上海人
{小李=我是北京人, 小明=我是湖南人, 小红=我是湖北人}

 

简单的map集合的Put方法实例代码2,供新手练习参考使用:

package cn.map2;

import java.util.HashMap;
import java.util.Map;

public class Demo2 {
	public static void main(String[] args) {
		//创建HashMap集合对象
	Map<String,String> map1  =	new HashMap<String,String>();
	//添加元素
	map1.put("张三", "美国人");
	map1.put("李四", "英国人");
	map1.put("王五", "日本人");
	map1.put("赵六", "中国人");
	String a = map1.put("张三", "中国人");   // 如果键 重复了, 值会被替换.
	System.out.println(a);
	System.out.println(map1);
	}
}

以上输出结果:

美国人
{赵六=中国人, 张三=中国人, 李四=英国人, 王五=日本人}

 

简单的map集合的Get方法实例代码3,供新手练习参考使用:

package cn.map2;

import java.util.HashMap;
import java.util.Map;

public class Demo3 {
	public static void main(String[] args) {
		// 创建 person 对象
		Map<String, String> person = new HashMap<>();
		// 添加 元素 put 方法
		person.put("唐三藏", "师傅"); // 
		person.put("孙悟空", "大师兄"); // 
		person.put("猪八戒", "二师兄");
		person.put("沙悟净", "三师弟");
		person.put("白龙马", "四师弟");
		//get值
		String value = person.get("唐三藏");
		System.out.println("唐三藏的值value1="+value);
		String value2 = person.get("孙悟空");
		System.out.println("孙悟空的值value2="+value2);
		String value3 = person.get("沙悟净");
		System.out.println("沙悟净的值value3="+value3);
	}
}

输出结果是:

唐三藏的值value1=师傅
孙悟空的值value2=大师兄
沙悟净的值value3=三师弟

其他方法:

  • void clear() 从此映射中移除所有映射关系(可选操作)。 

  • boolean containsKey(Object key)  如果此映射包含指定键的映射关系,则返回 true。

  • boolean containsValue(Object value)   如果此映射将一个或多个键映射到指定值,则返回 true。

  • boolean isEmpty()  如果此映射未包含键-值映射关系,则返回 true。 

  • V remove(Object key)  如果存在一个键的映射关系,则将其从此映射中移除(可选操作)。 

  • int size() 返回此映射中的键-值映射关系数。

简单的map集合的其他方法实例代码4,供新手练习参考使用:

package cn.map2;

import java.util.HashMap;

/*

 * 其他方法  

 void clear() 从此映射中移除所有映射关系(可选操作)。

 boolean containsKey(Object key)  如果此映射包含指定键的映射关系,则返回 true。

 boolean containsValue(Object value)   如果此映射将一个或多个键映射到指定值,则返回 true。

 boolean isEmpty()  如果此映射未包含键-值映射关系,则返回 true。

 V remove(Object key)  如果存在一个键的映射关系,则将其从此映射中移除(可选操作)。

 int size() 返回此映射中的键-值映射关系数。

 */
public class Demo4 {
	public static void main(String[] args) {
		//创建hashMap
		HashMap<String, String> hashMap = new HashMap<>();
		// 保存角色名字和书名.   
		 hashMap.put("东方不败", "<<笑傲江湖>>");
		 hashMap.put("岳不群", "<<笑傲江湖>>");
		 hashMap.put("林平之", "<<笑傲江湖>>");
		 hashMap.put("乔峰", "<<天龙八部>>");
		 hashMap.put("段誉", "<<天龙八部>>");
		 hashMap.put("虚竹", "<<天龙八部>>");
		 System.out.println(hashMap.containsKey("乔峰"));
		 System.out.println(hashMap.containsKey("梅超风"));
		 System.out.println("=======");
		 System.out.println(hashMap.isEmpty());
		 //hashMap.clear();
		// System.out.println(hashMap);
		 String remove = hashMap.remove("乔峰");
		 System.out.println(remove);
		 System.out.println(hashMap);
		}
	}

以上输出结果:

true
false
=======
false
<<天龙八部>>
{林平之=<<笑傲江湖>>, 虚竹=<<天龙八部>>, 岳不群=<<笑傲江湖>>, 段誉=<<天龙八部>>, 东方不败=<<笑傲江湖>>}
 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/139288.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月30日 上午7:16
下一篇 2022年5月30日 上午7:16


相关推荐

  • Python+pycharm安装dlib库

    Python+pycharm安装dlib库下载 dilb 库写在前面 尽量要用对应 Python 版本的库已经安装好 Python3 6 1 和 pycharmdlib 版本下载官网文件名 dlib 19 6 1 cp36 cp36m win amd64 whl 安装 dlib 库下载好之后我们将这个文件拷贝到 Python 目录下的 Scripts 文件加里例如 E python Scripts 接下来使用 Python 自带的 pip 进行安装 1

    2026年3月27日
    2
  • asp语法教程_如何编程

    asp语法教程_如何编程ASP编程基本语句(一)Access+asp编制网站是属于动态网站,是通过把要编制的内容写入数据库里,在通过读取数据库的内容显示出来,学习目的:学会数据库的基本操作。数据库的基本操作无非是:查询记

    2022年8月6日
    12
  • SECS/GEM Driver开发使用,带例子

    SECS/GEM Driver开发使用,带例子SECSDriver 软件 demo 界面包含一些 SxFy 的示例 里面包含代码使用的样式 使用简洁清楚 用户一看就熟悉使用 稳定是该产品的重点 无论用户在什么场景下都能够保证稳定的运行 在功能保证的前提下 7 24 小时稳定运行是基础 下载地址 www secsgem cn4 代码截图代码部分 新方法发送 voidCSecsExa OnBnClickedB S5F1

    2026年3月19日
    2
  • 访问控制列表(ACL)基本的配置以及详细讲解「建议收藏」

    访问控制列表(ACL)基本的配置以及详细讲解「建议收藏」【网络环境】网络时代的高速发展,对网络的安全性也越来越高。西安凌云高科技有限公司因为网络建设的扩展,因此便引入了访问控制列表(ACL)来进行控制,作为网络管理员我们应该怎么来具体的实施来满足公司的需求

    2022年8月6日
    18
  • SQLyog使用技巧

    SQLyog使用技巧1 自动填充 2 sql 添加到收藏夹 以便下次使用 3 通过历史记录获取操作相关表的 sql 语句通过 SQLyog 工具创建和修改表结构时 创建和修改表结构的 sql 语句可以通过 SQLyog 的历史记录查看 无需自己写 sql 语句哦 查看 SQlyog 的快捷键 CTRL SHIFT H4 有子查询时 单独执行子查询有多个子查询时 确保整个 sql 执行正常 需要确保每个子查询的数据正

    2026年3月17日
    2
  • linux 下 android studio 不能输入中文记录

    linux 下 android studio 不能输入中文记录

    2021年7月1日
    116

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号