Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Data Model
- public class DataModel {
- private LocalDate date;
- private double initial;
- private double peak;
- private double basal;
- private double end;
- public DataModel(LocalDate date, double initial, double peak, double basal, double end) {
- this.date = date;
- this.initial = initial;
- this.peak = peak;
- this.basal = basal;
- this.end = end;
- }
- public LocalDate getDate() {
- return date;
- }
- public double getInitial() {
- return initial;
- }
- public double getPeak() {
- return peak;
- }
- public double getBasal() {
- return basal;
- }
- public double getEnd() {
- return end;
- }
- }
- // Main Class
- public class main {
- public static void main(String[] args) {
- List<DataModel> list = getData();
- Map<String, TemporalAdjuster> ADJUSTERS = new HashMap<>();
- ADJUSTERS.put("day", TemporalAdjusters.ofDateAdjuster(d -> d)); // identity
- ADJUSTERS.put("week", TemporalAdjusters.previousOrSame(DayOfWeek.of(1)));
- ADJUSTERS.put("month", TemporalAdjusters.firstDayOfMonth());
- ADJUSTERS.put("year", TemporalAdjusters.firstDayOfYear());
- Map<Object, List<DataModel>> temp = list
- .stream()
- .collect(Collectors.groupingBy((DataModel data) -> data.getDate().with(ADJUSTERS.get("week"))));
- System.out.println(temp.size());
- }
- private static List<DataModel> getData(){
- List<DataModel> list = new ArrayList<>();
- list.add(new DataModel(LocalDate.of(2018,12,9),135,141,106,116));
- list.add(new DataModel(LocalDate.of(2018,12,8),114,188,111,134));
- list.add(new DataModel(LocalDate.of(2018,12,7),161,170,130,146));
- list.add(new DataModel(LocalDate.of(2018,12,6),161,192,117,127));
- list.add(new DataModel(LocalDate.of(2018,12,5),154,190,110,165));
- list.add(new DataModel(LocalDate.of(2018,12,4),140,186,100,134));
- list.add(new DataModel(LocalDate.of(2018,12,3),126,183,165,145));
- list.add(new DataModel(LocalDate.of(2018,12,2),111,143,109,119));
- list.add(new DataModel(LocalDate.of(2018,12,1),138,188,122,162));
- list.add(new DataModel(LocalDate.of(2018,11,30),112,147,116,127));
- list.add(new DataModel(LocalDate.of(2018,11,29),162,168,154,163));
- list.add(new DataModel(LocalDate.of(2018,11,28),138,181,101,151));
- list.add(new DataModel(LocalDate.of(2018,11,27),142,176,102,159));
- list.add(new DataModel(LocalDate.of(2018,11,26),134,153,117,120));
- return list;
- }
- }
Add Comment
Please, Sign In to add comment