[第三季] 012.Map接口及其实现类
1.获得所有键的集合
①在main中new一个HarshMap,用来存放城市名称所以定义为cities.
个人感觉HarshMap是一个带自定义需要的列表.
②用put方法存入四个变量,北京,上海,天津,重庆.
③用keySet()方法获取cities里面的所有键的集合,放到set里面 zips里面.
④用迭代器装入zips里面的String,放到it里面.
注意:zips是cities返回的set,set是可以iterator的,map是不可以的.
⑤while循环打印
先用String zip存放it.next().
在用cities.get(zip)方法取出,String cityName.
最后用zip+cityName的方法打印出来.
2.获得所有值的集合
System.out.println(“===========打印所有区号的名称==============”);
①用cities.Values()方法,查看一下返回值,把返回值存放在Collection cityName里面.
②实例化cityName的迭代器,存放在it2中.
③用while方法打印迭代器里面的内容.
这里小结一下,HarshMap里面的第一列是keySet,第二列是Value.
3.获得所有条目的集合
①cities.entrySet()方法取出其中所有条目,看看返回值是什么类型的,然后用合适的类型存储,并取名为
entries.
注意:这里的用于接收返回值的set
package javastudy;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map.Entry;
import java.util.Set;
public class MyTest
{
public static void main(String[] args)
{
//****************第1步****************
HashMap<String, String>cities=new HashMap<String, String>();
cities.put("021", "bejing");
cities.put("022", "shanghai");
cities.put("023", "tianjin");
cities.put("024", "chongqing");
//****************第2步获得所有键的集合****************
Set<String> zips=cities.keySet();
//cities.keySet();查看返回值类型为set
//Set<String>在前面新建一个set并在尖括号里<>里写String
//对象名字为code
//****************第3步****************
Iterator<String>it=zips.iterator();
//****************第4步打印城市名称****************
while(it.hasNext())
{
String zip =it.next();
String cityName=cities.get(zip);
System.out.println(cityName);
//System.out.println("=========================");
//接下里我还想打印城市名称
System.out.println(zip+":"+cityName);
}
//****************第5步接下来演示获得所有值的集合cities.values();****************
System.out.println("===========打印所有区号的名称==============");
Collection<String> cityNames=cities.values();
Iterator<String> it2=cityNames.iterator();
while(it2.hasNext())
{
System.out.println(it2.next());
}
//****************第6步接下来演示获得所有条目的集合entry****************
System.out.println("===========演示获得所有条目的集合entry==============");
Set<Entry<String, String>> entries=cities.entrySet();
Iterator<Entry<String, String>> it3=entries.iterator();
while(it3.hasNext())
{
Entry<String, String>entry=it3.next();
System.out.println(it3.next()+":"+entry.getValue());
}
//****************第7步TreeMap****************
//程序所有的程序不变,所有HAarshmap改成Treemap,用person,也会报错
//要实现的话要实现排序接口
}
}