java hashmap实例_java HashMap详解及实例代码

java hashmap

/*

* map集合的特点

* 将键映射值的对象,一个映射不能包含重复的值;每个键最多只能映射到一个值

*

* map集合和collection集合的区别?

* map集合存储元素是成对出现的,map集合的键是唯一的,就是可重复的。可以把这个理解为:夫妻对

* collection集合存储元素是单独出现的,collection的儿子set是唯一的,list是可重复的,可以把这个理解为:光棍

*

* 注意:

* map集合的数据结构值针对键有效,限值无效

* collection集合的数据结构是针对元素有效

*

* map集合的功能概述:

* 1:添加功能

* v put(k key,v value);//添加元素

* 如果键是第一次存储,就直接存储元素,返回null

* 如果键不是第一次存储,就用值把以前的值替换掉,返回以前的值

*

* 2:删除功能

* void clear();//移除所有的键值对元素

* v remove(object key);//根据键删除键值对元素,并把值返回

*

* 3:判断功能

* boolean containskey(object key);//判断集合是否包含指定的键

* boolean containsvalue(object value);//判断集合是否包含指定的值

* boolean isempty();//判断集合是否为空

*

* 4:获取功能

* set> entryset();获取键值对的对象集合

* v get(object key);//根据键获取值

* set keyset();//获取集合中所有键的集合

* collection values();//获取集合中所有值的集合

*

* 5:长度功能

* int size();//返回集合中的键值对的对数

* */

map集合的遍历

方式1,根据键查询值

获取所有键的集合

遍历键的集合,获取每一个键

根据键,查询值

方式2,根据键值对的对象查询键和值

获取所有键值对的对象的集合

遍历键值对的对象的集合,获取到每一个键值对的对象

根据键值对的对象,查询键和值

方式1,根据键查询值

/*

* map集合的遍历,根据键查询值

*

* 思路:

* a:获取所有的键

* b:遍历键的集合,获取得到每一个键

* c:根据键查询值

* */

import java.util.hashmap;

import java.util.map;

import java.util.set;

/*

* map集合的遍历,根据键查询值

*

* 思路:

* a:获取所有的键

* b:遍历键的集合,获取得到每一个键

* c:根据键查询值

* */

public class integerdemo {

public static void main(string[] args) {

// todo auto-generated method stub

map map = new hashmap();

map.put("hello", "world");

map.put("java", "c++");

map.put("sql", "os");

system.out.println(map);

// a:获取所有的键

set set = map.keyset();

// b:遍历键的集合,获取得到每一个键

for (string key : set) {

// c:根据键查询值

string value = map.get(key);

system.out.println(key + "---" + value);

}

}

}

方式2,根据键值对的对象查询键和值

/*

* map集合的遍历,根据对象查询键和值

*

* 思路:

* a:获取所有的键值对对象的集合

* b:遍历键值对对象的集合,得到每一个键值对的对象

* c:获取键和值

* */

import java.util.hashmap;

import java.util.map;

import java.util.set;

/*

* map集合的遍历,根据对象查询键和值

*

* 思路:

* a:获取所有的键值对对象的集合

* b:遍历键值对对象的集合,得到每一个键值对的对象

* c:获取键和值

* */

public class integerdemo {

public static void main(string[] args) {

// todo auto-generated method stub

map map = new hashmap();

map.put("hello", "world");

map.put("java", "c++");

map.put("sql", "os");

system.out.println(map);

// a:获取所有的键值对对象的集合

set> set = map.entryset();

// b:遍历键值对对象的集合,得到每一个键值对的对象

for (map.entry me : set) {

// c:获取键和值

string key = me.getkey();

string value = me.getvalue();

system.out.println(key + "---" + value);

}

}

}

/*

* 1:hashmap和hashtable的区别?

* hashmap线程不安全,效率高,允许null键和null值

* hashtable线程安全,效率低,不允许null键和null值

*

* 2:list,set,map等接口是否都继承于map接口?

* list,set不是继承自map接口,它们继承自collection接口

* map接口本身就是一个顶层接口

* */

import java.util.hashmap;

import java.util.hashtable;

public class integerdemo {

public static void main(string[] args) {

// todo auto-generated method stub

hashmap hm = new hashmap();

hashtable ht = new hashtable();

hm.put("hello", "world");

hm.put("java", "c++");

hm.put(null, "sql");

ht.put("hello", "world");

ht.put("java", "c++");

ht.put(null, "sql");// exception in thread "main"

// java.lang.nullpointerexception

}

}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

希望与广大网友互动??

点此进行留言吧!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值