最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

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

Java crifan 4111浏览 0评论

【背景】

折腾:

【已解决】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>

转载请注明:在路上 » 【已解决】Java中的字典类型变量

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
82 queries in 0.174 seconds, using 22.07MB memory