【已解决】Java中的字典类型变量

【背景】

折腾:

【已解决】java中计算代码执行时间

期间,需要搞懂如何使用java中的字典类型的变量。

【解决过程】

1. 参考:

学习“字典、哈希与Map”

去写出如下代码:

private HashMap calcTimeKeyDict;

/** start calculate time */
public long calcTimeStart(String uniqueKey)
{
    long startMilliSec = 0;
    startMilliSec = System.currentTimeMillis();
    calcTimeKeyDict.put(uniqueKey, startMilliSec);
    return startMilliSec;
}

/** end calculate time */
public long calcTimeEnd(String uniqueKey)
{
    long endMilliSec = System.currentTimeMillis();
    
    long elapsedMilliSec = 0;
    if(calcTimeKeyDict.containsKey(uniqueKey))
    {
        long startMilliSec = (long)calcTimeKeyDict.get(uniqueKey);
        elapsedMilliSec = endMilliSec - startMilliSec;
    }
    
    return elapsedMilliSec;
}

结果,出现警告:

【已解决】java中使用HashMap出现警告:Type safety: The method put(Object, Object) belongs to the raw type HashMap. References to generic type HashMap<K,V> should be parameterized

 

然后用如下代码:

private HashMap<String, Long> calcTimeKeyDict;
//private Map<String, Long> calcTimeKeyDict;

/** start calculate time */
public long calcTimeStart(String uniqueKey)
{
    long startMilliSec = 0;
    startMilliSec = System.currentTimeMillis();
    calcTimeKeyDict.put(uniqueKey, startMilliSec);
    return startMilliSec;
}

/** end calculate time */
public long calcTimeEnd(String uniqueKey)
{
    long endMilliSec = System.currentTimeMillis();
    
    long elapsedMilliSec = 0;
    if(calcTimeKeyDict.containsKey(uniqueKey))
    {
        long startMilliSec = calcTimeKeyDict.get(uniqueKey);
        elapsedMilliSec = endMilliSec - startMilliSec;
    }
    
    return elapsedMilliSec;
}

貌似就可以正常的使用,把HashMap或Map当做Dict类型的变量使用了。

 

【总结】

java中的字典类型变量,就是Map或者HashMap。

使用方式,也比较像C#中的Dictionary,比如:

Dictionary<string, long>



发表评论

电子邮件地址不会被公开。 必填项已用*标注

无觅相关文章插件,快速提升流量