首页编程containskey?Map的containsKey()方法是做什么用的

containskey?Map的containsKey()方法是做什么用的

编程之家2023-11-05245次浏览

大家好,今天我将向大家分享有关containskey和Map的containsKey()方法是做什么用的的一些独特见解,希望能够为你们带来新的思考和启示。

containskey?Map的containsKey()方法是做什么用的

Map的containsKey()方法是做什么用的

直接上API

containsKeyboolean containsKey(Object key)如果此映射包含指定键的映射关系,则返回 true。更正式地说,当且仅当此映射包含键 k的以下映射关系时才返回 true:(key==null? k==null: key.equals(k))。(最多只能有一个这样的映射关系)。

参数:key-测试在此映射中是否存在的键。

返回:如果此映射包含指定键的映射关系,则返回 true。

containskey?Map的containsKey()方法是做什么用的

抛出:ClassCastException-如果该键对于此映射是不合适的类型(可选)。

NullPointerException-如果该键为 null并且此映射不允许 null键(可选)。

java containskey

java containskey是什么,让我们一起了解一下。

containskey是在HashMap中经常用来判断键(key)是否存在,在HashMap中不应该利用get()方法来判断是否存在某个键,而应该利用containsKey()方法来判断。

containskey?Map的containsKey()方法是做什么用的

那么在Java中Hashtable containsKey()的方法是如何使用的?

containsKey()方法在java.util包中可用,containsKey()方法用于检查给定对象是否为键元素(key_ele)。containsKey()方法是一个非静态方法,可通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。containsKey()方法在检查键时可能会引发异常。

NullPointerException:当给定参数为null时,可能引发此异常。语法:public boolean containsKey(Object key_ele),它的参数是对象key_ele–表示要测试存在性的关键元素(key_ele)。

containsKey()用法的实战操作:主要用于判断map中是否包含指定的键名。 public static void main(String[] args) {    Map map=new HashMap();    map.put("book","语文");    map.put("food","零食");    boolean res = map.containsKey("book");    boolean foods = map.containsValue("零食");    if(foods){        System.out.println("存在值");    }else {        System.out.println("不存在值");    }    if(res){        System.out.println(map.get("book"));        System.out.println("存在键");    }else {        System.out.println("不存在键");    }} ```**

C# Dictionary 用法;

C# Dictionary用法总结

1、用法1:常规用

增加键值对之前需要判断是否存在该键,如果已经存在该键而且不判断,将抛出异常。所以这样每次都要进行判断,很麻烦,在备注里使用了一个扩展方法

publicstaticvoidDicSample1()

{

Dictionary<String,String>pList=newDictionary<String,String>();

try

{

if(pList.ContainsKey("Item1")==false)

{

pList.Add("Item1","ZheJiang");

}

if(pList.ContainsKey("Item2")==false)

{

pList.Add("Item2","ShangHai");

}

else

{

pList["Item2"]="ShangHai";

}

if(pList.ContainsKey("Item3")==false)

{

pList.Add("Item3","BeiJiang");

}

}

catch(System.Exceptione)

{

Console.WriteLine("Error:{0}",e.Message);

}

//判断是否存在相应的key并显示

if(pList.ContainsKey("Item1"))

{

Console.WriteLine("Output:"+pList["Item1"]);

}

//遍历Key

foreach(varkeyinpList.Keys)

{

Console.WriteLine("OutputKey:{0}",key);

}

//遍历Value

foreach(StringvalueinpList.Values)

{

Console.WriteLine("OutputValue:{0}",value);

}

//遍历Key和Value

foreach(vardicinpList)

{

Console.WriteLine("OutputKey:{0},Value:{1}",dic.Key,dic.Value);

}

}

2、用法2:Dictionary的Value为一个数组

///<summary>

///Dictionary的Value为一个数组

///</summary>

publicstaticvoidDicSample2()

{

Dictionary<String,String[]>dic=newDictionary<String,String[]>();

String[]ZheJiang={"Huzhou","HangZhou","TaiZhou"};

String[]ShangHai={"Budong","Buxi"};

dic.Add("ZJ",ZheJiang);

dic.Add("SH",ShangHai);

Console.WriteLine("Output:"+dic["ZJ"][0]);

}

3、用法3: Dictionary的Value为一个类

//Dictionary的Value为一个类

publicstaticvoidDicSample3()

{

Dictionary<String,Student>stuList=newDictionary<String,Student>();

Studentstu=null;

for(inti=0;i<3;i++)

{

stu=newStudent();

stu.Name=i.ToString();

stu.Name="StuName"+i.ToString();

stuList.Add(i.ToString(),stu);

}

foreach(varstudentinstuList)

{

Console.WriteLine("Output:Key{0},Num:{1},Name{2}",student.Key,student.Value.Name,student.Value.Name);

}

}

Student类:

publicclassStudent

{

publicStringNum{get;set;}

publicStringName{get;set;}

}

4备注:Dictionary的扩展方法使用

///<summary>

///Dictionary的扩展方法使用

///</summary>

publicstaticvoidDicSample4()

{

//1)普通调用

Dictionary<int,String>dict=newDictionary<int,String>();

DictionaryExtensionMethodClass.TryAdd(dict,1,"ZhangSan");

DictionaryExtensionMethodClass.TryAdd(dict,2,"WangWu");

DictionaryExtensionMethodClass.AddOrPeplace(dict,3,"WangWu");

DictionaryExtensionMethodClass.AddOrPeplace(dict,3,"ZhangWu");

DictionaryExtensionMethodClass.TryAdd(dict,2,"LiSi");

//2)TryAdd和AddOrReplace这两个方法具有较强自我描述能力,用起来很省心,而且也简单:

dict.AddOrPeplace(20,"Orange");

dict.TryAdd(21,"Banana");

dict.TryAdd(22,"apple");

//3)像Linq或jQuery一样连起来写

dict.TryAdd(10,"Bob")

.TryAdd(11,"Tom")

.AddOrPeplace(12,"Jom");

//4)获取值

StringF="Ba";

dict.TryGetValue(31,outF);

Console.WriteLine("F:{0}",F);

foreach(vardicindict)

{

Console.WriteLine("Output:Key:{0},Value:{1}",dic.Key,dic.Value);

}

//5)下面是使用GetValue获取值

varv1=dict.GetValue(111,null);

varv2=dict.GetValue(10,"abc");

//6)批量添加

vardict1=newDictionary<int,int>();

dict1.AddOrPeplace(3,3);

dict1.AddOrPeplace(5,5);

vardict2=newDictionary<int,int>();

dict2.AddOrPeplace(1,1);

dict2.AddOrPeplace(4,4);

dict2.AddRange(dict1,false);

}

扩展方法所在的类

publicstaticclassDictionaryExtensionMethodClass

{

///<summary>

///尝试将键和值添加到字典中:如果不存在,才添加;存在,不添加也不抛导常

///</summary>

publicstaticDictionary<TKey,TValue>TryAdd<TKey,TValue>(thisDictionary<TKey,TValue>dict,TKeykey,TValuevalue)

{

if(dict.ContainsKey(key)==false)

dict.Add(key,value);

returndict;

}

///<summary>

///将键和值添加或替换到字典中:如果不存在,则添加;存在,则替换

///</summary>

publicstaticDictionary<TKey,TValue>AddOrPeplace<TKey,TValue>(thisDictionary<TKey,TValue>dict,TKeykey,TValuevalue)

{

dict[key]=value;

returndict;

}

///<summary>

///获取与指定的键相关联的值,如果没有则返回输入的默认值

///</summary>

publicstaticTValueGetValue<TKey,TValue>(thisDictionary<TKey,TValue>dict,TKeykey,TValuedefaultValue)

{

returndict.ContainsKey(key)?dict[key]:defaultValue;

}

///<summary>

///向字典中批量添加键值对

///</summary>

///<paramname="replaceExisted">如果已存在,是否替换</param>

publicstaticDictionary<TKey,TValue>AddRange<TKey,TValue>(thisDictionary<TKey,TValue>dict,IEnumerable<KeyValuePair<TKey,TValue>>values,boolreplaceExisted)

{

foreach(variteminvalues)

{

if(dict.ContainsKey(item.Key)==false||replaceExisted)

dict[item.Key]=item.Value;

}

returndict;

}

}

关于containskey到此分享完毕,希望能帮助到您。

大型网站开发,如何开发大型网站云计算公司排名,中国十大云计算公司排名