欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Map

程序员文章站 2022-03-21 11:12:49
...

因为很多题碰到了Map,我就再看了一下,做了以下整理:

Map(映射),是一种把键对象和值对象进行映射的集合,每一个元素都包含一对键对象和值对象,只要给出键对象,就会返回对应的值对象,通过Map的put(Object key, Object value)方法向集合中加入元素,通过Map的get(Object key)方法来检索与键对象对应的值对象。

 

package sequence;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class map {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner scan = new Scanner(System.in);
		int T = scan.nextInt();
        Map<Integer, String> map = new HashMap<Integer, String>();
        map.put(1, "Monday");
        map.put(2, "Tuesday");
        map.get(2);
        System.out.println(map.get(T));
	}

}

 Map中不能出现重复的键对象,如果出现重复的键对象则用Map的entrySet()方法,返回Set集,集合中的对象不按特定方式排序,并且没有重复对象,Set接口主要有两个实现类:HashSet和TreeSet,那么如果重复的话按照下面的代码:

1.新建一个Map,2.插入值,3.返回Set集合,4.遍历,5.对应值

package sequence;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

public class Map1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
        Map<Integer,String> map = new HashMap<Integer, String>();
        map.put(1, "Monday");
        map.put(1, "Mon");
        map.put(5, "Friday");
        Iterator<Map.Entry<Integer, String>> it = map.entrySet().iterator();//迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象
        while(it.hasNext()){
        	Map.Entry entry = it.next();//entry表示Map中的一对键与值
        	System.out.println(entry.getKey()+":"+entry.getValue());
        }
	}

}

 Map有两种比较常用的实现:HashMap和TreeMap,TreeMap实现了SortedMap接口,能对键对象进行排序;Map的keySet()方法返回集合中所有键对象的集合,来进行排序。

package paixu;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class TreeMap {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
    Map<Integer, String> map = new HashMap<Integer, String>();
    map.put(1, "Monday");
    map.put(2, "Tuesday");
    map.put(5, "Friday");
    
    Set<Integer> set = map.keySet();
    Iterator<Integer> it = set.iterator();
    while(it.hasNext()){
    	int key = it.next();
    	String value = map.get(key);
    	System.out.println(key+":"+value);
    }
	}

}