接下来是Map接口的信息,
常用的方法:
put(key k,value v):将一个键和一个值,传入Map
containskey(Object key):返回逻辑值,如果key存在,则返回true,否则返回false
containsValue(Object value):返回逻辑值,如果Value存在,则返回true,否则返回false
get(Object key):根据key(键)返回对应的值。
keySet();返回所有键的内容到Set接口类
values():返回所有值的内容到Collection接口类
对于MAP接口,有两种常见实现,一个是HashMap,一种是TreeMap。
TreeMap优点:带有排序的功能,其集合中的映射关系是根据键对象按照一定顺序排列的。
TreeMap缺点:不允许键对象为null;在添加,删除,定位映射关系上效率低于HashMap
HashMap,里面的排序看起来是乱序的。
二者拥有的方法基本一致,在一些没有特殊要求的时候,可以混用。
下面一个例子演示使用方法:
static void HashMapTry(){
//本身是键值对
HashMap<String, String> newHash=new HashMap<>();
newHash.put("001","we are the world");
newHash.put("002","beat it");
newHash.put("003","earth song");
newHash.put("004","man in the mirror");
Easy.ShowL("获取键值对:(001)的结果为 "+newHash.get("003"));
//以上是插入和获取键对应的值的方法
Collection<String> keys=newHash.keySet();
Iterator<String> newIt=keys.iterator();
for(int k=0;newIt.hasNext();){
k++;
Easy.ShowL("遍历"+k+":"+newIt.next());
}
//以上是获取keySet并遍历输出的演示
Collection<String> values=newHash.values();
Iterator<String> value=values.iterator();
for(int k=0;value.hasNext();){
k++;
Easy.ShowL("遍历"+k+":"+value.next());
}
//以上是获取values并遍历输出的演示
Easy.ShowL("判断键\"004\"是否存在:"+newHash.containsKey("004"));
Easy.ShowL("判断键\"001\"是否存在:"+newHash.containsKey("001"));
Easy.ShowL("判断键\"006\"是否存在:"+newHash.containsKey("006"));
//以上判断是否存在键
Easy.ShowL("判断值\"beat it\"是否存在:"+newHash.containsValue("beat it"));
Easy.ShowL("判断值\"strange in moscow\"是否存在:"+newHash.containsValue("strange in moscow"));
Easy.ShowL("判断值\"earth song\"是否存在:"+newHash.containsValue("earth song"));
//以上判断是否存在值
}
以上的代码演示了使用的方法。这里都是采取的String类。
大家肯定也注意到了
HashMap<String, String> newHash=new HashMap<>();
这里,“<String,String>”表示键和值都是String类型。当然,也可在使用的时候采取别的方式,比如:“<String,Object>”均可。