map操作 java,Java中Map基本操作

Java中Map基本操作

void:clear() 清空集合中所有的对

boolean:containsKey(Object key) 判断是否包含指定的键

boolean:containsValue(Object value) 判断是否包含指定的值

Set>:entrySet() 返回所有Entry的集合, 一个对就是一个Entry

boolean:equals(Object o)

V:get(Object key) 返回键对应的值

boolean:isEmpty() 判断集合是否为空

Set:keySet() 返回键的集合

V:put(K key, V value) 添加对, 如果key键已存在,使用value值替换原来的值

void:putAll(Map m) 把m集合中所有的对添加到当前集合中

V:remove(Object key) 只要key匹配就删除对应的对

default boolean:remove(Object key, Object value) 删除

default V:replace(K key, V value) 使用value值替换key原来的值

int:size() 返回对的数

Collection:values() 返回所有值的集合

package com.wkcto.chapter05.map;

import java.util.HashMap;

import java.util.Map;

/**

* 演示Map的基本操作

* @author 蛙课网

*

*/

public class Test01 {

public static void main(String[] args) {

//1) 创建Map集合, 用来保存

//Map是一个接口,需要赋值实现类对象

Map map = new HashMap<>();

//2) 添加数据

map.put("feifei", 30000);

map.put("bin", 40000);

map.put("zhang", 50000);

map.put("yong", 100000);

//3) 直接打印, 存储顺序与添加顺序可能不一致

System.out.println( map );

//{bin=40000, yong=100000, zhang=50000, feifei=30000}

//4)添加重复的键, 如果键重复,会使用新的value值替换原来的值, Map中的键不能重复的

map.put("bin", 40001);

System.out.println( map );

//5)修改

map.replace("feifei", 30002);

map.replace("yan", 6666);//替换时, 如果键不存在,替换不成功

System.out.println( map );

//6)判断

System.out.println( map.isEmpty() );

System.out.println( map.size());

System.out.println( map.containsKey("feifei"));

System.out.println( map.containsValue(100000));

System.out.println( map.get("yong"));

System.out.println( map.get("cui")); //如果键不存在, 返回null

//7) 删除

map.remove("bin", 40000); //删除对, 要求键与值都匹配才能删除

System.out.println( map ); //{bin=40001, yong=100000, zhang=50000, feifei=30002}

map.remove("yong");//只要键匹配就删除

System.out.println( map );

}

}

package com.wkcto.chapter05.map;

import java.util.Collection;

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import java.util.Map.Entry;

import java.util.Set;

/**

* Map的遍历

* @author 蛙课网

*

*/

public class Test02 {

public static void main(String[] args) {

//1)创建Map集合

Map map = new HashMap<>();

//2) 添加数据

map.put("feifei", 30000);

map.put("bin", 40000);

map.put("zhang", 50000);

map.put("yong", 100000);

//3) 获得所有键的集合,

Set keySet = map.keySet();

System.out.println( keySet );

//4) 所有值的集合

Collection values = map.values();

Iterator iterator = values.iterator();

while (iterator.hasNext()) {

Integer integer = (Integer) iterator.next();

System.out.print( integer + "\t");

}

System.out.println();

//5)所有entry的集合, 一个Entry就是一个对

Set> entrySet = map.entrySet();

for (Entry entry : entrySet) {

System.out.println( entry.getKey() + " : " + entry.getValue());

}

}

}

练习

package com.wkcto.chapter05.map;

import java.util.HashMap;

import java.util.Map;

import java.util.Map.Entry;

import java.util.Set;

/**

* 统计字符串中每个 字符出现的次数

* a : 12

* c : 5

* d : 23

*

* @author 蛙课网

*

*/

public class Test03 {

public static void main(String[] args) {

String text = "afdfasfafasfdaczadsfazcvafdfcvfdfdaadvavdavfdaav zcvafdafadfvczxvzvafdafad";

//1) 定义一个Map保存结果

Map map = new HashMap<>();

//2) 遍历字符串中的每个 字符

for( int i = 0 ; i < text.length(); i++){

char cc = text.charAt(i); //取出对应的字符

//如果字符不是第一次出现, 把原来的次数 加 1

if ( map.containsKey(cc) ) { //Map集合中的键包含cc这个字符

Integer count = map.get(cc); //把cc字符原来的次数取出来

map.replace(cc, count + 1 ); //把cc字符的次数加1, 保存到map中

}else{

//如果是第一次出现, 把 保存到集合中

map.put(cc, 1);

}

}

//3) 打印结果

Set> entrySet = map.entrySet();

for (Entry entry : entrySet) {

System.out.println( entry.getKey() + " : " + entry.getValue());

}

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值