Projekt_Paradygmaty_Program.../TaskManager
2024-06-21 21:59:11 +02:00

76 lines
1.7 KiB
Plaintext

// Funkcyjny
import java.util.*;
import java.util.stream.Collectors;
class Task {
private int id;
private String description;
public Task(int id, String description) {
this.id = id;
this.description = description;
}
public int getId() {
return id;
}
public String getDescription() {
return description;
}
@Override
public String toString() {
return "Task{" +
"id=" + id +
", description='" + description + '\'' +
'}';
}
}
class TaskManager {
private List<Task> tasks;
private int nextId;
public TaskManager() {
tasks = new ArrayList<>();
nextId = 1;
}
public Task addTask(String description) {
Task newTask = new Task(nextId++, description);
tasks.add(newTask);
return newTask;
}
public boolean deleteTask(int id) {
return tasks.removeIf(task -> task.getId() == id);
}
public List<Task> getTasks() {
return new ArrayList<>(tasks);
}
public Optional<Task> getTaskById(int id) {
return tasks.stream().filter(task -> task.getId() == id).findFirst();
}
public void printTasks() {
tasks.forEach(System.out::println);
}
public static void main(String[] args) {
TaskManager taskManager = new TaskManager();
taskManager.addTask("Finish homework");
taskManager.addTask("Read book");
System.out.println("All tasks:");
taskManager.printTasks();
taskManager.deleteTask(1);
System.out.println("Tasks after deletion:");
taskManager.printTasks();
}
}