HashMap
通过哈希表来存放映射关系,常见的操作语法,新建一个Map对象
Map map=new HashMap();
map.put("1","Jack");
并且如果输入的键相同,还回更新值
package com.powerlbs;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.TreeSet;
public class test {
public static void main(String args[]){
Map map=new HashMap();
map.put("1", "Jack");
map.put("2", "Rose");
map.put("3","Lucy");
//按键查值
map.put("3","Lili");
System.out.println("1:"+map.get("1"));
System.out.println("2:"+map.get("2"));
System.out.println("3:"+map.get("3"));
}
}
遍历所有键值对一
1.调用Map对象的keySet()方法
2.通过Iterator迭代Set集合的每一个元素
3.通过get(String key)方法,根据键获取对应的值
package com.powerlbs;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
public class test {
public static void main(String args[]){
Map map=new HashMap();
map.put("1", "Jack");
map.put("2", "Rose");
map.put("3","Lucy");
//获取键的集合
Set keySet=map.keySet();
Iterator it=keySet.iterator();
while(it.hasNext()){
Object key=it.next();
Object value=map.get(key);
System.out.println(key+":"+value);
}
}
}
遍历键值对二
先获取映射关系,然后从映射关系中获取键和值
package com.powerlbs;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
public class test {
public static void main(String args[]){
Map map=new HashMap();
map.put("1", "Jack");
map.put("2", "Rose");
map.put("3","Lucy");
//获取键的映射关系
Set entrySet=map.entrySet();
Iterator it=entrySet.iterator();
while(it.hasNext()){
Map.Entry entry=(Map.Entry)(it.next());
Object key=entry.getKey();
Object value=entry.getValue();
System.out.println(key+":"+value);
}
}
}
遍历获取值的方法
获取Map中存储所有值的Collection集合
package com.powerlbs;
import java.util.Collection;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
public class test {
public static void main(String args[]){
Map map=new HashMap();
map.put("1", "Jack");
map.put("2", "Rose");
map.put("3","Lucy");
//获取Map中存储所有值的Collection集合
Collection values=map.values();
Iterator it=values.iterator();
while(it.hasNext()){
Object value=it.next();
System.out.println(value);
}
}
}
TreeMap
按键值映射关系,不允许出现重复的键,并且按一定顺序存储。
import java.util.Iterator;
import java.util.Set;
import java.util.TreeMap;
public class test {
public static void main(String args[]){
TreeMap tm=new TreeMap(new MyComparator());
tm.put("1", "Jack");
tm.put("2", "Rose");
tm.put("3","Lucy");
Set keySet=tm.keySet();
Iterator iterator=keySet.iterator();
while(iterator.hasNext()){
Object key=iterator.next();
Object value=tm.get(key);
System.out.println(key+":"+value);
}
}
}
自定义排序
package com.powerlbs;
import java.util.Comparator;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeMap;
class MyComparator implements Comparator{
public int compare(Object obj1,Object obj2){
String id1=(String)obj1;
String id2=(String)obj2;
return id2.compareTo(id1);
}
}
public class test {
public static void main(String args[]){
TreeMap tm=new TreeMap(new MyComparator());
tm.put("1", "Jack");
tm.put("2", "Rose");
tm.put("3","Lucy");
Set keySet=tm.keySet();
Iterator iterator=keySet.iterator();
while(iterator.hasNext()){
Object key=iterator.next();
Object value=tm.get(key);
System.out.println(key+":"+value);
}
}
}