在Java HashMap中保留一对原语

前端之家收集整理的这篇文章主要介绍了在Java HashMap中保留一对原语前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个文件列表.我想扫描并保持相同大小的文件数量.问题是文件大小很长,正如我们所知,hashmap只接受一个对象而不是一个基元.所以使用新的Long(文件大小),我把它放入hashmap.由于每个Long obj都是唯一的,因此我获得了一个(filesize,1)列表,而不是获得一对(filesize,count).

我该如何构建这个累加器?

1.4.2的任何解决方案?

解决方法

你只需这样做:
Map<Long,Integer> count = new HashMap<Long,Integer>();
for (File file : files) {
  long size = file.getTotalSpace();
  Integer n = count.get(size);
  if (n == null) {
    count.put(size,1);
  } else {
    count.put(size,n + 1);
  }
}

这里有一些auto-boxing和拆箱.

猜你在找的Java相关文章