From 81aa59a6fe65d6a937bcb06f86cbb1ba11aa192b Mon Sep 17 00:00:00 2001 From: artem Date: Sat, 28 Nov 2015 13:57:51 +0200 Subject: [PATCH] Homework 4 done --- .idea/misc.xml | 6 +- .idea/modules.xml | 3 +- .idea/vcs.xml | 3 +- .idea/workspace.xml | 957 +++++++++++++----- src/Main.java | 1 + src/com/geekhub/hw4/set/SetOperations.java | 20 +- .../hw4/set/SetOperationsReaslization.java | 43 + src/com/geekhub/hw4/taskmanager/Task.java | 21 +- .../taskmanager/TaskManagerRealization.java | 63 ++ 9 files changed, 874 insertions(+), 243 deletions(-) create mode 100644 src/com/geekhub/hw4/set/SetOperationsReaslization.java create mode 100644 src/com/geekhub/hw4/taskmanager/TaskManagerRealization.java diff --git a/.idea/misc.xml b/.idea/misc.xml index 1b063fd..52af417 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -3,10 +3,12 @@ + - + - \ No newline at end of file + + diff --git a/.idea/modules.xml b/.idea/modules.xml index 1c09bc4..a11420b 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -5,4 +5,5 @@ - \ No newline at end of file + + diff --git a/.idea/vcs.xml b/.idea/vcs.xml index 94a25f7..c80f219 100644 --- a/.idea/vcs.xml +++ b/.idea/vcs.xml @@ -3,4 +3,5 @@ - \ No newline at end of file + + diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 01a65b3..be27823 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -1,12 +1,21 @@ - + + + + + + + + + + + - + + + + + - - - - @@ -100,14 +150,11 @@ true - - - - @@ -116,9 +163,14 @@ + + + + @@ -132,8 +184,7 @@ - - + @@ -149,7 +200,7 @@ @@ -159,11 +210,11 @@ @@ -173,19 +224,19 @@ @@ -195,24 +246,25 @@ - + + @@ -221,6 +273,8 @@ + + @@ -240,24 +294,14 @@ - + - @@ -281,92 +325,11 @@ - - - - - - - - - - - - @@ -480,45 +507,84 @@ 1446213396060 - - - + - - - - - - - + - + + - - + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + - + + + + + + \ No newline at end of file + + diff --git a/src/Main.java b/src/Main.java index a0428da..487c3ff 100644 --- a/src/Main.java +++ b/src/Main.java @@ -1,6 +1,7 @@ public class Main { public static void main(String[] args) { + System.out.println("Hello World!"); } } diff --git a/src/com/geekhub/hw4/set/SetOperations.java b/src/com/geekhub/hw4/set/SetOperations.java index c368475..d2c0266 100644 --- a/src/com/geekhub/hw4/set/SetOperations.java +++ b/src/com/geekhub/hw4/set/SetOperations.java @@ -3,22 +3,22 @@ import java.util.Set; public interface SetOperations { - // (=), + //Два множества А и В равны (А=В), если они состоят из одних и тех же элементов boolean equals(Set a, Set b); - // () ? , - // + //Объединением (суммой) множеств А и В называется множество А ? В, + //элементы которого принадлежат хотя бы одному из этих множеств Set union(Set a, Set b); - // , - // , + //Разностью множеств А и В называется множество АВ, элементы которого + //принадлежат множеству А, но не принадлежат множеству В Set subtract(Set a, Set b); - // () ? , - // , + //Пересечением (произведением) множеств А и В называется множество А ? В, + //элементы которого принадлежат как множеству А, так и множеству В Set intersect(Set a, Set b); - // ? , - // , ? = () ? () + //Симметричной разностью множеств А и В называется множество А ? В, + //являющееся объединением разностей множеств АВ и ВА, то есть А ? В = (АВ) ? (ВА) Set symmetricSubtract(Set a, Set b); -} +} \ No newline at end of file diff --git a/src/com/geekhub/hw4/set/SetOperationsReaslization.java b/src/com/geekhub/hw4/set/SetOperationsReaslization.java new file mode 100644 index 0000000..c047d97 --- /dev/null +++ b/src/com/geekhub/hw4/set/SetOperationsReaslization.java @@ -0,0 +1,43 @@ +package com.geekhub.hw4.set; + +import java.util.HashSet; +import java.util.Set; + +/** + * Created by developer on 28.11.2015. + */ +public class SetOperationsReaslization implements SetOperations { + @Override + public boolean equals(Set a, Set b) { + return a.equals(b); + } + + @Override + public Set union(Set a, Set b) { + Set ab1 = new HashSet<>(); + ab1.add(a); + ab1.add(b); + return ab1; + } + + @Override + public Set subtract(Set a, Set b) { + Set ab2 = new HashSet<>(); + ab2.addAll(a); + ab2.removeAll(b); + return ab2; + } + + @Override + public Set intersect(Set a, Set b) { + Set ab3 = new HashSet<>(); + ab3.addAll(a); + ab3.retainAll(b); + return ab3; + } + + @Override + public Set symmetricSubtract(Set a, Set b) { + return union(subtract(a, b), subtract(b, a)); + } +} diff --git a/src/com/geekhub/hw4/taskmanager/Task.java b/src/com/geekhub/hw4/taskmanager/Task.java index 518c9b0..938da73 100644 --- a/src/com/geekhub/hw4/taskmanager/Task.java +++ b/src/com/geekhub/hw4/taskmanager/Task.java @@ -4,5 +4,24 @@ public class Task { private String category; private String description; - /*...*/ + public Task(String category, String description){ + this.category = category; + this.description = description; + } + + public String getCategory(){ + return category; + } + + public void setCategory(String category){ + this.category = category; + } + + public String getDescription(){ + return description; + } + + public void setDescription(){ + this.description = description; + } } diff --git a/src/com/geekhub/hw4/taskmanager/TaskManagerRealization.java b/src/com/geekhub/hw4/taskmanager/TaskManagerRealization.java new file mode 100644 index 0000000..76877ba --- /dev/null +++ b/src/com/geekhub/hw4/taskmanager/TaskManagerRealization.java @@ -0,0 +1,63 @@ +package com.geekhub.hw4.taskmanager; + +import java.util.*; + +/** + * Created by developer on 28.11.2015. + */ +public class TaskManagerRealization implements TaskManager { + Map tasks = new TreeMap<>(); + @Override + public void addTask(Date date, Task task) { + tasks.put(date, task); + } + + @Override + public void removeTask(Date date) { + tasks.remove(date); + + } + + @Override + public Collection getCategories() { + Collection categories = new ArrayList<>(); + for (Task task : tasks.values()) { + categories.add(task.getCategory()); + } + return categories; + } + + @Override + public Map> getTasksByCategories() { + Map> taskByCategories = new HashMap<>(); + for(String category: getCategories()) { + taskByCategories.put(category, getTasksByCategory(category)); + } + + return taskByCategories; + } + + @Override + public List getTasksByCategory(String category) { + List tasksByCategory = new ArrayList<>(); + for (Task task : tasks.values()){ + if (task.getCategory().equals(category)){ + tasksByCategory.add(task); + } + } + return null; + } + + @Override + public List getTasksForToday() { + List tasksForToday = new ArrayList<>(); + + for (Date date : tasks.keySet()){ + if(date.equals(new Date())){ + tasksForToday.add(tasks.get(date)); + } + } + + return tasksForToday; + } +}