Map
Map接口的使用
特点:1存储键值对,2键不能重复,值可以重复,3无序
. HashMap【重点】:
。JDK1.2版本,线程不安全,运行效率快 ;允许用null 作为key或是value。。
Hashtable :
。JDK1.0版本,线程安全,运行效率慢;不允许null作为key或是value。.
**Properties **:
。Hashtable的子类,要求key和value都是String。通常用于配置文件的读取。
package Collection.Map;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
/**
* Map接口的使用
* 特点:1存储键值对,2键不能重复,值可以重复,3无序
*
* @author liu
*/
public class Demo01 {
public static void main(String[] args) {
//创建Map集合
Map map = new HashMap<>();
//1添加元素
map.put("usa", "美国");
map.put("uk", "英国");
//重复key,会替换
map.put("cn", "china");
map.put("cn", "中国");
System.out.println(map.toString());
System.out.println(map.size());
System.out.println(map.get("cn"));
//2删除
/* map.remove("usa");
System.out.println(map.toString());*/
//3遍历
//3.1使用KeySet()遍历
System.out.println("-------------------keySet遍历--------------------");
//Set keySet = map.keySet();
//keySet只有键
System.out.println(map.keySet());
for (String s : map.keySet()) {
System.out.println(s + map.get(s));
}
//3.2使用entrySet()遍历
System.out.println("-------------------entrySet()遍历--------------------");
//Set> entries =map.entrySet();
//entrySet获得的是键值对
System.out.println(map.entrySet());
for (Map.Entry entry : map.entrySet()) {
System.out.println(entry.getKey() + entry.getValue() );
}
//4判断
System.out.println(map.containsKey("cn"));
System.out.println(map.containsValue("泰国"));
}
}