Java中map集合框架

Map与Collection的区别:

Map:一次添加一对元素,Collection一次添加一个元素
Map也称为双列集合, Collection称为单列集合
其实map集合中存储的就是键值对。,必须保证键的唯一性

常用方法

1.添加
value put(key,value) 返回前一个和key关联的值,如果没有返回null

2.修改
void clear() 清空map集合
value remove(key) 根据指定的key删除这个键值对

3.判断
boolean containsKey(key)
boolean containsValue(value)
boolean isEmpty()

4,获取
value get(key) 通过键获取值,如果没有返回null,可以通过返回null,来判断是否包含指定键。
int size() 获取键值对的个数

常用子类:

1.Hashtable:内部结构是是哈希表,是同步的,不允许null作为键。null作为值
        1.1  Properties:用来存储键值类型的配置文件的信息,可以和IO技术相结合
2.HashMap:内部结构是哈希表,不是同步的,允许null作为键,null作为值
3.TreeMap:内部结构是二叉树,不是同步的,可以对Map集合中的键进行排序

示例代码:

public static void main(String[] args) {

    Map<Integer,String> map=new HashMap<Integer,String>();
    method(map);

}
public static void method(Map<Integer,String> map){

    //添加
    map.put(8, "wangcai");
    map.put(8, "xiaoqiang");//村相同键,值会覆盖
    map.put(6, "wani");
    map.put(4, "twani");
    map.put(2, "wandi");
    System.out.println(map);
    //删除
    map.remove(2);
    //获取
    map.get(3);
    map.put(8, "wani");
    map.put(6, "wani");
    map.put(4, "twani");
    map.put(2, "wandi");
    //取出map中的所有元素。先通过keySet方法获取map中所有的键所在的Set集合,再通过Set的
    //迭代器获取到每一个键,再对每一个键通过map集合中的get方法获取其对应的值即可。
    Set<Integer> keySet =map.keySet();
    Iterator<Integer> it=keySet.iterator();
    while(it.hasNext())
    {
        Integer key=it.next();
        String value=map.get(key);
        System.out.println(key);

    }


    /*
     *  通过Map转成set就可以迭代
     *  找到了另一个方法。entrySet
     *  该方法将键和值的映射关系作为对象存数到了Set集合中,而这个映射关系的类型就是Map,entry类型
     *  
     * */
    Set<Map.Entry<Integer, String>> entrySet=map.entrySet();
    Iterator<Map.Entry<Integer, String>> it=entrySet.iterator();
    while(it.hasNext())
    {
        Map.Entry<Integer, String> me=it.next();
        System.out.println(me);
    }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值