Advertisement
Guest User

Untitled

a guest
Dec 8th, 2016
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.00 KB | None | 0 0
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package com.mycompany.colorattributingpoc;
  7.  
  8. import java.math.BigDecimal;
  9. import java.util.ArrayList;
  10. import java.util.Collections;
  11. import java.util.Comparator;
  12. import java.util.HashMap;
  13. import java.util.List;
  14. import java.util.Map.Entry;
  15. import java.util.Random;
  16.  
  17. /**
  18.  *
  19.  * @author kenrik
  20.  */
  21. public class Main {
  22.  
  23.     public static void main(String[] args) {
  24.  
  25.         List<DataBean> beans = new ArrayList<>();
  26.         Random r = new Random();
  27.         for (int i = 0; i < 683; i++) {
  28.             beans.add(new DataBean(r.nextInt(100)));
  29.         }
  30.  
  31.         for (DataBean bean : beans) {
  32.             System.out.println(bean);
  33.         }
  34.  
  35.         int lowest = beans.stream()
  36.                 .min(Comparator.comparing(i -> i.getCluster())).get().getCluster();
  37.  
  38.         int highest = beans.stream()
  39.                 .max(Comparator.comparing(i -> i.getCluster())).get().getCluster();
  40.  
  41.         System.out.println("Highest in list: " + highest);
  42.         System.out.println("Lowest in list: " + lowest);
  43.  
  44.         Collections.sort(beans);
  45.  
  46.         beans.stream().forEach(bean -> {
  47.             bean.setRelative(roundOff((double) 100 / (beans.size() - 1) * beans.indexOf(bean)));
  48.         });
  49.  
  50.         System.out.println("");
  51.         System.out.println("---------Sort 'n Roll!---------");
  52.         System.out.println("");
  53.  
  54.         for (DataBean bean : beans) {
  55.             System.out.println(bean);
  56.         }
  57.  
  58.         StringBuilder sb = new StringBuilder("[");
  59.         for (DataBean bean : beans) {
  60.             sb.append(bean.getCluster());
  61.             sb.append(": ");
  62.             sb.append(bean.getRelative());
  63.             sb.append(", ");
  64.         }
  65.  
  66.         sb.append("]");
  67.         System.out.println(sb.toString());
  68.  
  69.     }
  70.  
  71.     private static double roundOff(double orig) {
  72.         BigDecimal a = new BigDecimal(orig);
  73.         BigDecimal roundOff = a.setScale(2, BigDecimal.ROUND_HALF_EVEN);
  74.  
  75.         return roundOff.doubleValue();
  76.     }
  77.  
  78.     static class DataBean implements Comparable<DataBean> {
  79.  
  80.         private int cluster;
  81.         private double relative;
  82.  
  83.         public DataBean(int cluster) {
  84.             this.cluster = cluster;
  85.         }
  86.  
  87.         public int getCluster() {
  88.             return cluster;
  89.         }
  90.  
  91.         public void setCluster(int cluster) {
  92.             this.cluster = cluster;
  93.         }
  94.  
  95.         public double getRelative() {
  96.             return relative;
  97.         }
  98.  
  99.         public void setRelative(double relative) {
  100.             this.relative = relative;
  101.         }
  102.  
  103.         @Override
  104.         public String toString() {
  105.             return "DataBean{" + "cluster=" + cluster + ", \trelative=" + relative + '}';
  106.         }
  107.  
  108.         @Override
  109.         public int compareTo(DataBean o) {
  110.             return this.getCluster() - o.getCluster();
  111.         }
  112.  
  113.     }
  114.  
  115. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement