集合Map接口的应用和学习,以及属于Map的HashMap的用法。

最近在复习集合Collection,集合,顾名思义,就是用来存储一组可变数量的数据项的组合,这个数据项也可以是0个。

其中在Java中,有一个Map接口能够提供集合,可以供我们来进行存储数据,以便随时能够进行查找。

Map接口

属于一个集合类里面的,它定义的集合又称为查找表,存储所谓“key-value”映射对。

这里的key可以看作是value的索引,可以根据索引来找到对应的内容,即根据key,能够找到对应的value。

可以这样来表示何为Map接口提供的集合,Map<Key,Value>。

也就是可以用一张表格来形容何为Map接口提供的集合:

key    
value    

这样的话就能够一目了然了,其中,在Map接口提供的集合里,是有限制条件的。

1、作为key的对象在集合中是不可重复的,比方说不能两个key都是1。

2、Map接口在使用的时候是基于键值对和散列的。

HashMap

1)构造

HashMap的话是基于哈希表的Map接口的实现。

这里我们来看看Hashmap的构造方法,可以看Java API中记录的。

HashMap(),用来构造一个空的HashMap,默认初始容量(16)和默认负载系数(0.75)。

所以可以得到HasMap test = new HashMap();这是一种。

也可以直接用Map test = new HashMap(); 因为HashMap是Map的一种。

2)添加元素

既然是添加元素,那就要添加key和value。

API中的put方法便是一种:V put(K key, V value)。

3)得到元素

API中的get方法:V get(Object key)。

4)移除元素

API中的remove方法:V remove(Object key)。

5)得到所有key

API中的keyset方法:Set<K> keySet()。

6)得到所有value

API中的values方法:public Collection<V> values()。

我们可以来给出一个最简单的实际代码例子。

package practice;

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class Practice {
    public static void main(String[] args) {
        Map test = new HashMap();//Construtor
        test.put("One", new String("12"));//put element
        test.put("Two", new String("123"));
        test.put("Three", new String("13"));
        test.remove("Three");//remove element
        Set keys = test.keySet();//Get all keys
        Collection values = test.values();//Get all values
        System.out.println(test.get("One"));//get element
        System.out.println(test.get("Two"));
        System.out.println(test.get("Three"));
        System.out.println(keys);
        System.out.println(values);
    }
}

得到的结果为:

总结一下,使用Map接口的时候,关键是要清楚key不能重复,然后在使用的时候是基于键值对和散列的,这两点尤为重要。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值