黑马程序员——Map架构小议

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

Map架构小议

 

Map类最大的特点就是键值对应。也就是每一个Key都有一个对应的Value。

Map类的分类:HashMap和TreeMap

HashMap:每一个键都会有值,并且对于Map而言,键不会重复。如下面一个例子:

class Demo{
	public static void main(String[] args){
		Map<String, String> messages = new HashMap<>();
		messages.put("Justin", "今年20岁");
		messages.put("Monica", "今年22岁");
		messages.put("Irene", "今年21岁");
		
		Scanner sc = new Scanner(System.in);
		System.out.println("要打印谁的信息?");
		String mes = messages.get(sc.nextLine());
		System.out.println(mes);
		System.out.println(messages);
	}
}


结果如下:

结果一:

要打印谁的信息?

Monica

今年22岁

{Monica=今年22岁,Justin=今年20岁,Irene=今年21岁}

结果二:

要打印谁的信息?

Hello

null

{Monica=今年22岁,Justin=今年20岁,Irene=今年21岁}

 

从结果中可以看出,HashMap建立键值对应后,键是无序的,如果要使键有一个顺序,就要使用到TreeMap。

 

TreeMap:同样的,使用TreeMap也会产生键值对,并且键不会重复。唯一的区别是使用TreeMap取出的键值会根据键进行排序。同刚才的例子,代码如下:

import java.util.*;

class Demo{
	public static void main(String[] args){
		Map<String, String> messages = new TreeMap<>();
		messages.put("Justin", "今年20岁");
		messages.put("Monica", "今年22岁");
		messages.put("Irene", "今年21岁");
		
		Scanner sc = new Scanner(System.in);
		System.out.println("要打印谁的信息?");
		String mes = messages.get(sc.nextLine());
		System.out.println(mes);
		System.out.println(messages);
	}
}

结果如下:

要打印谁的信息?

Monica

今年22岁

{ Irene=今年21岁,Justin=今年20岁,Monica=今年22岁 }

 

由结果可知,在进行所有信息打印的时候,结果根据键进行了排序。

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值