java map 的api_JAVA自学教程之(常用对象API— Map集合及其常用方法

JAVA自学教程之(常用对象API— Map集合及其常用方法。

一、Map集合特点

Map集合(双列集合)一次添加一对元素,Collection集合(单列集合)一次添加一个元素

接口 Map,实际上存储的是键值对

特点:

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

也就是说Map中必须保证键的唯一性

二、常用方法

[html] view plaincopy在CODE上查看代码片派生到我的代码片

1.添加:value = put(key,value);返回前一个和key相关联的值,如果没有返回null

2.删除:void clear();把Map中的所有映射关系清除

value remove(key):根据指定的key,删除key-value键值对

3.判断: boolean containsKey(key)

boolean containsValue(value)

boolean isEmpty();

4.获取:value get(key):通过键获取值,如果没有该键,返回null,也就意味着可以判断Map中没有该建

int size():获取键值对的个数

方法演示

[html] view plaincopy在CODE上查看代码片派生到我的代码片

import java.util.HashMap;

import java.util.Map;

public class Main

{

public static void main(String[] args) {

Map map = new HashMap();

method(map);

}

public static void method(Map map){//姓名学号

//1.添加

System.out.println(map.put(1,”a”));

System.out.println(map.put(1, “b”));//存相同键,值会被覆盖

map.put(3, “c”);

map.put(4, “d”);

System.out.println(map);

//删除

map.remove(3);

System.out.println(map);

//判断

System.out.println(“containsKey:”+map.containsKey(3));

System.out.println(“containsValue:”+map.containsValue(“d”));

//获取

System.out.println(“Get:”+map.get(4));

System.out.println(“Get:”+map.get(8));//判断8在不是

}

}

Map和Collection没有关系,所以就不存在迭代器,那如何获取Map中所有key-value对(两种方法)

1.通过ketSet()方法(重点掌握),返回此映射中包含的键的Set 视图。

[html] view plaincopy在CODE上查看代码片派生到我的代码片

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import java.util.Set;

public class Main

{

public static void main(String[] args) {

Map map = new HashMap();

KeySetMehod(map);

}

public static void KeySetMehod(Map map){

map.put(1, “a”);

map.put(4, “b”);

map.put(3, “c”);

map.put(5, “d”);

//取出map中的所有key-value对,分三步走

//1.通过keySet()得到所有的key所在的Set集合,Set中有迭代器

//2.通过迭代器,获取所以的key

//3.通过Map中的get()获取对应的value

Set keyIntegers = map.keySet();

Iterator it = keyIntegers.iterator();

while(it.hasNext()){

Integer key = it.next();

System.out.println(“key – value : “+key+” – “+map.get(key));

}

}

}

三步走示意图

2.通过entrySet() :返回此映射中包含的映射关系的Set 视图。

[html] view plaincopy在CODE上查看代码片派生到我的代码片

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import java.util.Set;

public class Main

{

public static void main(String[] args) {

Map map = new HashMap();

KeySetMehod(map);

}

public static void KeySetMehod(Map map){

map.put(1, “a”);

map.put(4, “b”);

map.put(3, “c”);

map.put(5, “d”);

//映射关系的类型:Map.Entry类型

//Map.Entry中的方法

/*boolean equals(Object o) 比较指定对象与此项的相等性。

K getKey() 返回与此项对应的键。

V getValue() 返回与此项对应的值。

int hashCode() 返回此映射项的哈希码值。

V setValue(V value) 用指定的值替换与此项对应的值(可选操作)。

*/

Set> entry = map.entrySet();

Iterator> it = entry.iterator();

while(it.hasNext()){

//it.next是映射关系

Map.Entry maEntry = it.next();

System.out.println(“key – value : “+maEntry.getKey()+” – “+maEntry.getValue());

}

}

}

关于Map.Entry加强理解

[html] view plaincopy在CODE上查看代码片派生到我的代码片

interface MMap

{

public static interface Entry{

void get();

}

}

class XX implements MMap.Entry

{…..}

只是一个嵌套而已

3.通过values()方法:返回此映射中包含的值的Collection 视图。

[html] view plaincopy在CODE上查看代码片派生到我的代码片

import java.util.Collection;

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import java.util.Set;

public class Main

{

public static void main(String[] args) {

Map map = new HashMap();

KeySetMehod(map);

}

public static void KeySetMehod(Map map){

map.put(1, “a”);

map.put(4, “a”);

map.put(3, “c”);

map.put(5, “d”);

Collection cel = map.values();

Iterator it = cel.iterator();

while(it.hasNext()){

String in = it.next();

System.out.println(“key – value : “+in);

}

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值