`

JAVA基础 之 Map

    博客分类:
  • java
 
阅读更多

概述:

    1.键值对,key-value,具有映射关系的数据

    2.Map的key不允许重复,value可以重复

    3.Map里的key类似一个Set,甚至可以通过map.keySet()拿到key的Set集合

    4.Map里的value类似一个List,只不过索引不再是数字,而是任意类型

    5.相关类:HashMap、Hashtable(t就是小写 不是写错了~)、LinkedHashMap、Properties、TreeMap

    6.HashMap和Hashtable

       1.HashMap(线程不安全)、Hashtable(线程安全),所以不考虑同步问题的时候HashMap性能好些

       2.Hashtable不允许null,HashMap key-value 均允许null的存在

    7.LinkedHashMap遍历顺序与插入顺序一致,而HashMap不能保证顺序(不是按照添加先后遍历的)

    8.Properties用来读取属性文件的类,它继承自Hashtable

package com.cxy.collection;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.Collection;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
import java.util.TreeMap;

/**
 * @author peter
 */
public class MapTest
{
	public static void main(String[] args) throws Exception
	{
		Map<String,String> m=new HashMap();
		m.put("姓名", "cxy");
		m.put("性别", "男");
		m.put("邮箱", "163@163.com");  //当key不存在于Map的时候put方法可以看作是新增
		m.put("邮箱", "cxyapi@163.com");  //当key存在于Map的时候put方法可以看作是更新
		m.put(null, null); //HashMap key-value 均允许null的存在
		System.out.println(m);
		System.out.println("============================");
		
		System.out.println("m的key中是否包含'姓名'? 答:"+m.containsKey("姓名"));
		System.out.println("m的value中是否包含'女'? 答:"+m.containsValue("女"));
		System.out.println("邮箱是:"+m.get("邮箱")); //使用get方法通过key找到value
		System.out.println("m是否为空?答:"+m.isEmpty());
		System.out.println("m大小?答:"+m.size());
		System.out.println("============================");
		
		//通过keySet方法取到Map对象的key的Set集合
		Set<String> ms=m.keySet();
		System.out.print("m的键(key)有:");
		for(String one :ms)
		{
			System.out.print(one+"  ");
		}
		System.out.println("");  //保持格式无实际用处
		System.out.println("============================");
		
		m.put("描述", "性别男,爱好女");
		System.out.println(m);
		m.remove("描述");  //通过key删除对应的键值对
		m.remove(null);
		System.out.println(m);
		System.out.println("============================");
		
		Collection<String> vs= m.values();
		System.out.print("m的值(value)有:");
		for(String one :vs)
		{
			System.out.print(one+"  ");
		}
		System.out.println("");  //保持格式无实际用处
		System.out.println("============================");
		
		m.clear(); //清空数据
		System.out.println(m);
		System.out.println("============================");
		
		Properties p=new Properties();
		p.setProperty("username", "cxy");
		p.setProperty("password", "123");
		p.store(new FileOutputStream("d://cxytest.ini"), "机密");  //将属性写入ini文件,注释是机密
		//创建另一个Properties对象去加载刚才生成的ini文件
		Properties p1=new Properties();
		p1.load(new FileInputStream("d://cxytest.ini"));
		System.out.println(p1);
		System.out.println("============================");
		
		TreeMap tm = new TreeMap();
		tm.put("b", "234");
		tm.put("a", "123");
		tm.put("c", "456");
		System.out.println(tm);
		System.out.println("============================");
	}
}

 

分享到:
评论

相关推荐

    java基础-list_map_等等的基本概念

    java基础-list_map_等等的基本概念,适用于零基础的入门培训。

    java实现的map排序

    HashMap里面的元素是无序的,要进行排序的话只能是用TreeMap和SortedMap,java实现的map排序

    Java基础知识点总结.docx

    二、 Java语法基础 5 数据类型 5 运算符号 14 语句 15 函数 15 方法重载(Overloadjing)与重写(Overriding) 16 数组 17 总结 18 三、 常见关键字 20 四、 面向对象★★★★★ 21 五、 封装(面向对象特征之一)★...

    《partner4java 讲述 java基础》之第一步:list 、set 、map 粗浅性能对比分析 - java相关技术(partner4java专栏)

    《partner4java 讲述 java基础》之第一步:list 、set 、map 粗浅性能对比分析 - java相关技术(partner4java专栏)

    Java 基础面试题

    该文档主要整理了常见的Java基础面试题,包含以下内容: 1. 抽象类和接口的区别 2. 什么时候使用抽象类,什么时候使用接口 3. 八大基本数据类型,所占字节数 4. List、Set、Map的区别 5. 什么情况下使用List、...

    java基础集合篇.wps

    整理了一下java基础的集合部分,有list,map,set等及其相关。

    Java 基础核心总结 +经典算法大全.rar

    《Java 基础核心总结》 Java 概述 什么是 Java2 Java 的特点Java 开发环境 JDK JRE Java 开发环境配置 Java 基本语法 数据类型基础语法运算符 Java 执行控制流程条件语句 if 条件语句 if...else 条件语句if...else ...

    JAVA基础课程讲义

    Map接口 138 Iterator接口 139 遍历集合 140 Collections工具类 141 Comparable接口 141 equals和hashcode方法 143  泛型 144 思考作业 145 上机作业 145 第八章 IO技术 146 为什么需要学习IO技术 146 基本概念 ...

    java list map基础代码,经常需要eclipse开发复制的需要

    java list map基础代码,经常需要eclipse开发复制的需要

    java基础之集合总结

    此文档属于本人当初学习java基础之集合,所整理的文档。里面整理了单列集合Collection与双列集合Map的子类及常用方法。希望对你的学习有帮助,谢谢!

    Java基础最全笔记文档

    Java基础笔记分为 Java基础篇 和 Java加强篇 Java基础篇包括: 1. Java环境搭建、Java快速入门、IDEA开发工具 2. Java基础语法、类型转换、运算符、Scanner 3. 分支结构、循环结构、随机数 4. 数组详解、Debug工具...

    动力节点_Java基础视频教程132_Map结构图

    动力节点的Java课程适合绝对零基础的观看,教程中讲解了Java开发环境搭建、Java的基础...适合非计算机专业,想转行做Java开发的朋友,或者想让Java基础更扎实的小伙伴,配套资料下载:http://www.bjpowernode.com/?csdn

    动力节点_Java基础视频教程133_Map的基本操作介绍

    动力节点的Java课程适合绝对零基础的观看,教程中讲解了Java开发环境搭建、Java的基础...适合非计算机专业,想转行做Java开发的朋友,或者想让Java基础更扎实的小伙伴,配套资料下载:http://www.bjpowernode.com/?csdn

    动力节点_Java基础视频教程161_List中存储Map

    动力节点的Java课程适合绝对零基础的观看,教程中讲解了Java开发环境搭建、Java的基础...适合非计算机专业,想转行做Java开发的朋友,或者想让Java基础更扎实的小伙伴,配套资料下载:http://www.bjpowernode.com/?csdn

    【后端】java基础(4.4)java中级基础之集合——Map

    Map虽然也叫集合,但是它却不是Collection的子接口。它的底层结构是链表散列,也就是一个数组结构然后每个数组结构里包含的一个链表。我们平常直接叫它“键值(key——value)”结构。 map的实现接口有有不少,比如...

    动力节点_Java基础视频教程134_代码演示Map的操作

    动力节点的Java课程适合绝对零基础的观看,教程中讲解了Java开发环境搭建、Java的基础...适合非计算机专业,想转行做Java开发的朋友,或者想让Java基础更扎实的小伙伴,配套资料下载:http://www.bjpowernode.com/?csdn

    【IT十八掌徐培成】Java基础第11天-01.Map集合.zip

    【IT十八掌徐培成】Java基础第11天-01.Map集合.zip

    Java基础知识点.html

    Java基础思维导图对应html版本资源: 类加载器 ClassLoader 反射 Stream 流 函数式编程 Lambda 表达式 网络编程-协议 网络编程-端口 网络编程-IP 多线程 IO流-字节流 IO流-字符流 IO流-转换流 File Map HashMap ...

    JAVA SE 开发手册.CHM

    16、JAVA集合框架之Map接口、HashMap类、Trelap类、Hashtable类 17、JAVA异常Exception 18、JAVA线程之基础介绍 19、I0流之基本简介 20、I0流之字符流、字节流、转换流、缓冲流、对象流 21,I0流之HIO

    Java基础篇:Java集合.pdf

    该文档主要详细总结了Java集合的相关知识,包括Collection和Map接口、Collection接口的子接口List和Set接口以及具体的实现类、存储原理等;Map接口的子接口HashMap、LinkedHashMap、TreeMap、Properties等

Global site tag (gtag.js) - Google Analytics