在Java HashMap中保留一对原语
发布时间:2020-05-25 00:36:47 所属栏目:Java 来源:互联网
导读:我有一个文件列表.我想扫描并保持相同大小的文件数量.问题是文件大小很长,正如我们所知,hashmap只接受一个对象而不是一个基元.所以使用新的Long(文件大小),我把它放入hashmap.由于每个Long obj都是唯一的,因此我获得了一个(filesize,1)列表,而不是获得一对(fi
|
我有一个文件列表.我想扫描并保持相同大小的文件数量.问题是文件大小很长,正如我们所知,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和拆箱. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
