新的需求:
0——>星期日
1——> 星期一
有对应的关系,对应关系是有序的数字,可以将数字作为角标。使用数组
String[] weeks = {"星期一","星期二","星期三"..}//一张记录对应关系的表
//也可以换成List 集合
if(num<0||num>7){
throw new NoWeekException("没有这个星期");}
return weeks[num];
新需求:
星期一——->Moday
…..
星期日——->Sunday //也存在对应关系但是没有可以作为角标的存在
通过:输入星期,获取角标。在用角标,在英文的表里面返回对应的英文
List list1 = new ArrayList();
list.add(存储中文)
List list2 = new ArrayList();
list.add(存入英文)
int index = list.indexOf("星期一");
String s= list.get(index);
//就可以获取中文对应的英文
解决中英对应关系,可 以通过两个List 来完成。
一个List 中通过获取对应的角标。在用脚表到另一个存储英文的List 中获取对应的星期英文。
前提:必须保证中英文间的角标是一致的。
但是这样就比较麻烦,Collection 集合一次只能存入一个元素。
之前的集合都只能存储一个类型的对象,考虑:能否将这两个对应的对象存入一个几何中,换句话说要将他们的对应关系存入
集合框架中是否提供了相应的的解决方案——————interface Map
String[] weeks = {"星期一","星期二","星期三"..}//一张记录对应关系的表
//也可以换成List 集合
if(num<0||num>7){
throw new NoWeekException("没有这个星期");}
return weeks[num];
新需求:
星期一——->Moday
…..
星期日——->Sunday //也存在对应关系但是没有可以作为角标的存在
通过:输入星期,获取角标。在用角标,在英文的表里面返回对应的英文
List list1 = new ArrayList();
list.add(存储中文)
List list2 = new ArrayList();
list.add(存入英文)
int index = list.indexOf("星期一");
String s= list.get(index);
//就可以获取中文对应的英文
解决中英对应关系,可 以通过两个List 来完成。
一个List 中通过获取对应的角标。在用脚表到另一个存储英文的List 中获取对应的星期英文。
前提:必须保证中英文间的角标是一致的。
但是这样就比较麻烦,Collection 集合一次只能存入一个元素。
————————————————-Map———————————————————————-
之前的集合都只能存储一个类型的对象,考虑:能否将这两个对应的对象存入一个几何中,换句话说要将他们的对应关系存入
集合框架中是否提供了相应的的解决方案——————interface Map
//存储
V put(K key, V value) //将指定的值与该映射中的指定键相关联(可选操作)。
//获取键对应的值
V get(Object key) //返回到指定键所映射的值,或 null如果此映射包含该键的映射。
//通过键将映射关系移除,并且返回值
V remove(Object key) //如果存在(从可选的操作),从该地图中 移除
//删除
int size() //返回此地图中键值映射的数量。
对于存储关系这个元素:V put(K key, V value)
将指定的值 与 键相关联,如果这个键之前有关联的值,那么,将被现在输入的值替换,并且返回先前的对应值,如果没有则返回空
Map 基本方法的演示:
package Collection;
import java.util.*;
//演示双列集合 Map
public class MapDemo1 {
public static void main(String[] args){
//创建
Map<String,String> map = new HashMap<String,String>();
//添加元素
map.put("星期日","Sunday");
System.out.println( map.put("星期一","Monday"));//返回null
System.out.println( map.put("星期一","Mon"));
//键相同,值会被覆盖,被覆盖的值会被返回//这也是键唯一的保证
System.out.println(map);
//通过给定的键获取值
String value1= map.get("星期一");
String value2 = map.get("星期二");//键不存在,怎返回null
//删除,通过键删除关系,并且要返回值
String s= map.remove("星期日");//存在对应的关系则将关系删除并且返回值
System.out.println(map);
}
}
运行结果:
null
Monday
{星期日=Sunday, 星期一=Mon}
{星期一=Mon}
Collection 单列集合 // Map 双列集合