76 lines
1.7 KiB
Plaintext
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();
|
|
}
|
|
} |