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