因为很多题碰到了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);
}
}
}
3905

被折叠的 条评论
为什么被折叠?



