Map接口与实现类以及HashMap

Map父接口

**特点:**存储一对数据(Key-Value),无序,无下标,键不可重复,值可以重复。

HashMap介绍

基于哈希表的Map接口的实现。此实现提供所有可选的映射操作,并允许 null值和null键。(HashMap 该类与大致等效Hashtable,不同之处在于它是不同步的,并且允许为null。)此类不保证映射的顺序。特别是,它不能保证顺序会随着时间的推移保持恒定。线程不安全,效率高。
实例:

import java.util.HashMap;

public class TeatHashMaps {
    public static void main(String[] args) {

        HashMap hm=new HashMap();
        hm.put(0,"Hello");
        hm.put(1,"World");
        hm.put(2,"A");
        hm.put(3,"B");
        hm.put(4,"C");
        hm.put(5,"Hello1");
        hm.put(0,"HelloEveryone");  //自动进行覆盖

        System.out.println(hm.size());

//        System.out.println(hm.get(0));
        for (int i=0;i<hm.size();i++){
            System.out.println(hm.get(i));
        }


        String s= (String) hm.remove(3);
        System.out.println("被移除的数据:"+s);

        System.out.println("-------------------------------");
        System.out.println(hm.size());
        for (int i=0;i<hm.size();i++){
            System.out.println(hm.get(i));
        }

    }
}

运行结果:

6
HelloEveryone
World
A
B
C
Hello1
被移除的数据:B
-------------------------------
5
HelloEveryone
World
A
null
C

Hashtable简介

线程安全,效率低,key和value都不能使用null。

properties

Hashtable的子类,要求key和value都是String,通常用于配置文件的读取。
实例:

import java.util.Hashtable;
import java.util.Properties;

public class TestHashTable {
    public static void main(String[] args) {

        Hashtable table=new Hashtable();
        Properties pro=new Properties();

        pro.setProperty("aa","bb");
        pro.setProperty("cc","dd");

        pro.put("a1","b1");

        System.out.println(pro.getProperty("aa"));
        System.out.println(pro.getProperty("cc"));
        System.out.println(pro.get("a1"));

    }
}

运行结果:
bb
dd
b1

TreeMap简介

实现了sortedmap接口(Map的子接口)可以对key自动排序。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值