import java.math.BigDecimal;
import java.util.LinkedHashMap;
import java.util.Map;public class Test001 { public static void main(String[] args) {
float[] nums = { 0.1f, 0.2f, 0.2f, 0.3f, 0.3f, 0.3f, 0.1f, 0.2f, 0.2f,
0.3f, 0.3f, 0.3f };
Map<Float, Integer> map = new LinkedHashMap<Float, Integer>();
for (float n : nums) {
float key = new BigDecimal(n).floatValue();
if (map.containsKey(key)) {
map.put(key, map.get(key) + 1);
} else {
map.put(key, 1);
}
}
System.out.println(map);
}
}[code=java]
{0.1=2, 0.2=4, 0.3=6}[/code]
解决方案 »
- 请教一个关于格式转换符的问题
- 高手帮忙解释下这情况!
- 在一个connection上可以创建多个Statement 并且同时执行不同的SQL语句(这句话到底对不对? )
- 爱上了JAVA之后
- 这个程序有错,简直不可能
- 我用ZipFile打开一个JAR文件,我应该把JAR文件放在哪个目录?
- 我写了一个连接数据库的程序,但要用到import Java.sql.* 但提示找不到这个包,我不知那里有下的啊,请帮帮忙,好吗?
- 请教各位Applet的数字签名怎样做1??
- 如何测试和获取客户机的分辨率
- java中package问题
- 关于BigDecimal除法结果保留小数位数的问题
- 我想用jsoup解析网页 遇到问题了谢谢大家
public class FloatTotal {
public static void main(String[] args) {
Map<Float, Integer> map = new HashMap<Float, Integer>();
float [] nums = {0.1f,0.2f,0.2f,0.3f,0.3f,0.3f,0.1f,0.2f,0.2f,0.3f,0.3f,0.3f};
for (Float f : nums) {
if (map.containsKey(f)) {
map.put(f, map.get(f) + 1);
}
else {
map.put(f, 1);
}
}
Iterator<java.util.Map.Entry<Float, Integer>> it = map.entrySet().iterator();
while(it.hasNext()) {
Entry<Float, Integer> entry = it.next();
System.out.println(entry.getKey() + "=" + entry.getValue() + "次");
}
}
}