Map概述
Map接口存储一组成对的键值对象,提供key到value的映射,通过key来检索。
Map接口中的key无序,不允许重复;value无序,但允许重复
public class CountriesInfo {
public static void main(String[] args) {
//创建集合对象,并将国家信息键值对放入集合
Map countries =new HashMap();
countries.put("China","中国");
countries.put("USA","美国");
countries.put("Japan","日本");
countries.put("France","法国");
//获取集合中存储元素个数
System.out.println(countries.size());
//获取集合中特风的key对应的value——返回的是Object类型,
// 需要强制类型转换
String country=(String)countries.get("China");
System.out.println(country);
}
}
Map中常用方法
话不多说,直接上代码:
public class CountriesInfo {
public static void main(String[] args) {
//创建集合对象,并将国家信息键值对放入集合
Map countries =new HashMap();
countries.put("China","中国");
countries.put("USA","美国");
countries.put("Japan","日本");
countries.put("France","法国");
//获取集合中存储元素个数
System.out.println(countries.size());
//获取集合中特风的key对应的value——返回的是Object类型,
// 需要强制类型转换
String country=(String)countries.get("China");
System.out.println(country);
//获取集合中特定的key对应的value,如果找不到则返回null
String country2=(String)countries.get("Mada");
System.out.println(country2);
//判断集合中是否存在某个国家——boolean值
System.out.println("是否存在键为china的国家:"+countries.containsKey("China"));
//删除某个特定key对应的键值对
System.out.println("是否存在键为USA的国家:"+countries.containsKey("USA"));
countries.remove("USA");
System.out.println("是否存在键为USA的国家:"+countries.containsKey("USA"));
System.out.println(countries.size());
//获取键的集合,值的集合,键值对的集合
System.out.println(countries.keySet());
System.out.println(countries.values());
System.out.println(countries);
}
}
遍历Map集合
方式一:遍历key,通过key——>value
方法1.通过迭代器Iterator实现遍历
方法2.通过增强for循环
方式二:遍历key——value对
一定要注意进行强制类型转换!!!
package cn.kgc.review1113;
import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
/**
* @Author $(USER)
* @Date $(DATE)
* @Description
*/
public class CountriesInfo {
public static void main(String[] args) {
//创建集合对象,并将国家信息键值对放入集合
Map countries =new HashMap();
countries.put("China","中国");
countries.put("USA","美国");
countries.put("Japan","日本");
countries.put("France","法国");
//获取集合中存储元素个数
System.out.println(countries.size());
//获取集合中特风的key对应的value——返回的是Object类型,
// 需要强制类型转换
String country=(String)countries.get("China");
System.out.println(country);
//获取集合中特定的key对应的value,如果找不到则返回null
String country2=(String)countries.get("Mada");
System.out.println(country2);
//判断集合中是否存在某个国家——boolean值
System.out.println("是否存在键为china的国家:"+countries.containsKey("China"));
//删除某个特定key对应的键值对
System.out.println("是否存在键为USA的国家:"+countries.containsKey("USA"));
countries.remove("USA");
System.out.println("是否存在键为USA的国家:"+countries.containsKey("USA"));
System.out.println(countries.size());
//获取键的集合,值的集合,键值对的集合
System.out.println(countries.keySet());
System.out.println(countries.values());
System.out.println(countries);
//遍历Map,思路一:先遍历key,通过key——>value
Set keys=countries.keySet();//获取Map中所有key,因为key无序且唯一,所以用Set类
//方法一.通过增强for循环
for(Object obj:keys){
String key=(String)obj;//获取Map中的每一个key,强制类型转换
String value=(String)countries.get(key);//根据Map中的每个key去获取对应的value
System.out.println(key+"--"+value);
}
//方法二:迭代器Iterator遍历key的集合(Set)
Iterator itor=keys.iterator();
while(itor.hasNext()){
String key=(String)itor.next();//获取Map中的每一个key,强制转换
String value=(String)countries.get(key);//根据Map中的每个key去获取对应的value
System.out.println(key+"--"+value);
}
//方式二:获取Map中的所有键值对,然后在键值对中分别获取key和value
Set set=countries.entrySet();//新方法entrySet():获取Map中所有的键值对
//遍历键值对的集合,把每个键值对拿出来,每个键值对都是Map.Entry()类型
for(Object obj:set){
Map.Entry me=(Map.Entry)obj;//强制转换为键值对类型
String key=(String )me.getKey();//获取出来键值对中的键
String value=(String )me.getValue();获取出来键值对中的值
System.out.println(key+"--"+value);
}
}
}
|