Map接口
Map接口是一种双列集合,它的每个元素都包含一个键对象Key和一个值对象Value,键和值对象之间存在一种对应关系,称为映射。HashMap集合
HashMap集合是Map接口的一个实现类,它用于存储键映射关系,但必须保证不出现重复的键。
以下是几种遍历方法:
package pk_01;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class Example11 {
public static void main(String[] args) {
Map<String, String> map=new HashMap<String, String>();
map.put("1", "Jack");
map.put("2", "Rose");
map.put("3", "Luck");
第一种遍历
System.out.println("1:"+map.get("1"));
System.out.println("2:"+map.get("2"));
System.out.println("3:"+map.get("3"));
第二种遍历
Set<String> keySet=map.keySet();//获取键的集合
Iterator<String> it=keySet.iterator();
while(it.hasNext()) {
Object key=it.next();
Object value=map.get(key);
System.out.println(key+":"+value);
}
第三种遍历
Set entrySet=map.entrySet();
Iterator it=entrySet.iterator();
while (it.hasNext()) {
Map.Entry entry=(Map.Entry) (it.next());//获取集合中键值对映射关系
Object key=entry.getKey(); //获取Entry中的键
Object value=entry.getValue(); //获取Entry中的值
System.out.println(key+":"+value);
}
第四种遍历
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);
}
}
}
TreeMap集合
TreeMap集合是用来存储键值映射关系的,其中不允许出现重复的键。这与TreeSet集合的存储原理是一样的,因此TreeMap中所有的键是按照某种顺序排列的。
package pk_01;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeMap;
public class Example12 {
public static void main(String[] args) {
TreeMap<String, String> tm=new TreeMap<String, String>();
tm.put("1", "Jack");
tm.put("2", "Rose");
tm.put("3", "Luck");
Set<String> keySet=tm.keySet();
Iterator<String> it=keySet.iterator();
while (it.hasNext()) {
Object key=it.next();
Object value=tm.get(key);
System.out.println(key+":"+value);
}
}
}
自定义比较器来进行排序:
package pk_01;
import java.util.Comparator;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeMap;
//自定义比较器
class MyComparator1 implements Comparator<Object>{
public int compare(Object obj1, Object obj2) {
String id1=(String)obj1;
String id2=(String)obj2;
return id2.compareTo(id1);
}
}
public class Example13 {
public static void main(String[] args) {
TreeMap<String, String> tm=new TreeMap<String, String>(new MyComparator1());
tm.put("1", "Jack");
tm.put("2", "Rose");
tm.put("3", "Luck");
Set<String> keySet=tm.keySet();
Iterator<String> it=keySet.iterator();
while (it.hasNext()) {
Object key=it.next();
Object value=tm.get(key);
System.out.println(key+":"+value);
}
}
}