@Testpublic void test(){
List list = new ArrayList<>(); list.add(40d); list.add(30.00); list.add(10d); list.add(7d); list.add(2d); list.add(1.00); list.add(0.05); list.add(0.3999); list.add(0.0001); List objects = new ArrayList<>(); int count = 1000000; double sum = list.stream().mapToDouble(e -> e).sum(); System.out.println(sum); list = list.stream().sorted().collect(Collectors.toList()); for (int i = 0; i< count; i++){ double random = Math.random(); double s = 0d; for (double d:list){ s = s + d; if((random*sum)<=s){ objects.add(d); break; } } } System.out.println(objects.size()); Map collect = objects.stream().collect(Collectors.groupingBy(e -> e, Collectors.counting())); Map objectObjectHashMap = new HashMap<>(); System.out.println(collect); System.out.println(collect.values().stream().mapToDouble(e->e).sum()); for (Double s : collect.keySet()){ objectObjectHashMap.put(s, collect.get(s)*100d/count); } System.out.println(objectObjectHashMap); System.out.println(objectObjectHashMap.values().stream().mapToDouble(e->e).sum());}
随机算法
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 转自: Java 8 中的 Streams API 详解 为什么需要 Stream Stream 作为 Java ...