map判断是否有某一个key 「map判断是否为空」

  • map判断是否有某一个key 「map判断是否为空」已关闭评论
  • 213 次浏览
  • A+
所属分类:随笔创作

散列表Map:映射(以key-value的方式)

1.容量:散列表中散列数组的大小

2.散列运算:key-->散列值(即散列数组的下标)

map集合又称为查找表,以键值对 KEY - VALUE 形式存储。key可以看成是value的索引。

1.key值唯一,不可重复,value可以重复。

2.根据内部机构的不同,map接口具有不同的实现类。

HashMap( hash表实现的 )

TreeMap(内部为排序二叉树实现的)

3.通常是使用Map时,会使用泛型约束对象类型。通常会约束两个类型,key的类型和value的类型

4.根据key的散列值来计算散列表,元素按照散列表排序(内部排列是无序的)

HashMap常用方法:

1. put (K key,V val):将元素以key-value形式存入map中,若key值相同,则会进行替换

2. get(K key):根据key值返回对用的value值,如不存在则返回null。

3. containsKey(Object key):判断map中是否含有指定的key

4. containsValue(Object value):判断map中是否含有指定的value

注意:原则上获取map中元素时,需要先判断是否含有该元素,防止空指针异常。

例如:

Map map = HashMap();

map.put("姓名",张三");

5.clear():清空集合

6.isEmpty():判断集合是否为空

7.size():获取元素个数。

遍历HashMap:

方式一:获取所有的key,根据key获取对应的value(遍历key)。

keySet() :该方法可以以set形式返回map中所有的key

Map map = new HashMap();

map.put(1,"one");

map.put(2,"two");

Set set = map.keySet(); // set {1,2}

注意:linkedHashMap使用方法与HashMap一致。

方式二:Entry类,以键值对方式进行迭代,所在位置 java.util.Map.Entry

entrySet():该方法返回一个set集合,里面的元素是map中每一组键值对。map以rntry实例来描述每一个键值对。

getKey():获取key值。

getValue():获取value值。

Entry也需要泛型约束,其约束类型应和Map相同。

例如:

Map map = new LinkedHashMap();

map.put("1,2",new Point(1,2));

map.put("2,3",new Point(2,3));

map.put("3,4",new Point(3,4)); // 泛型套泛型

Set

for(Entry entry : entrySet ){

String key = entry.getKey(); // 获取key

Point value = entry.getVlue(); // 获取value

}

夜行书生