知识点:1.map集合相关方法的介绍,
2.map集合的遍历,不支持直接遍历,可以间接遍历,通过迭代器遍历
3. HashMap与Hashtable的区别??
import java.util.Map
import java.util.HashMap
import java.util.Hashtable
import java.util.Iterator
import java.util.Set
public class TestMap{
public static void main(String []args){
//Map<String,String> map=new HashMap<String,String>()
Map<String,String> map=new Hashtable<String,String>()
//方法1:V put(K key,V value)将指定的值与此映射中的指定键相关联(可选操作)。
map.put("key1","value1")
map.put("key2","value2")
map.put("key3","value3")
map.put("key4","value4")
//方法2:int size()返回此映射中的键-值映射关系数。
int size=map.size()
System.out.println(size)
//方法3:V remove(Object key)如果存在此键的映射关系,则将其从映射中移除(可选操作)
map.remove("key3")
size=map.size()
System.out.println(size)
//方法4:boolean containsKey(Object key)
boolean iden=map.containsKey("key2")
System.out.println(iden)
//方法5:boolean containsValue(Object value)
boolean iden1=map.containsValue("value3")
System.out.println(iden1)
//方法6:boolean isEmpty()
//如果此映射未包含键-值映射关系,则返回 true。
boolean iden2=map.isEmpty()
System.out.println(iden2)
System.out.println("*********************")
//Map集合不支持直接遍历,但是有多种方法对其进行间接遍历
//Entry<泛型1,泛型2>:一个键值对叫做一个Entry,其中的泛型和Map中的泛型相同
//entry 是Map接口中的内部类
//遍历Map集合方法1
Set<Map.Entry<String,String>> set=map.entrySet()
//集合Set的一个方法:Iterator<E> iterator()
Iterator<Map.Entry<String,String>> it=set.iterator()
//Iterator 迭代器的两个方法:
//boolean hasNext():如果仍有元素可以迭代,则返回 true。
//E next():返回迭代的下一个元素。重复调用此方法直到 hasNext() 方法返回 false,这将精确地一次性返回迭代器指向的集合中的所有元素。
while(it.hasNext()){
Map.Entry<String,String> en=it.next()
String key=en.getKey()
String value=en.getValue()
System.out.println(key+"==="+value)
}
//方法2:
System.out.println("**************************")
//Map集合的一个方法:Set<K> keySet():返回此映射中包含的所有键的 set 视图。
Set<String> keys=map.keySet()
Iterator<String> itkeys=keys.iterator()
while(itkeys.hasNext()){
String key=itkeys.next()
//Map集合的get方法:V get(Object key)
String value=map.get(key)
System.out.println(key+"==="+value)
}
System.out.println("********************************")
//HashMap与Hashtable的区别??
//Map<String,String>map1=new Hashtable<String,String>()
//map1.put(null,"Hashtable的键可以为null")
Map<String,String>map2=new HashMap<String,String>()
map2.put(null,"HashMap的键不可以为空")
size=map2.size()
System.out.println(size)
}
}
