Как вывести на печать всю HashMap таблицу после ее заполнения?

Что надо исправить в классе Manager, чтоб в классе Main вызвать метод вывода на печать всей HashMap таблицы после ее заполнения? У меня проблема в том, что записи затираются и выводится только последняя. А я хочу получить все три.

Main:

public class Main {

    public static void main(String[] args) {
        Manager manager = new Manager();
        manager.createNewTask("Задача 1", "Desc 1", TaskStatus.NEW);
        manager.createNewTask("Задача 2", "Desc 2", TaskStatus.IN_PROGRESS);
        manager.createNewTask("Задача 3", "Desc 3", TaskStatus.DONE);

        /*
        !!!!  Тут метод должен вывести на печать весь allTacks  !!!!
          Но у меня всегда выводится только последняя запись при вызове:
        System.out.println(manager.getAllTacks());
        */
    }
}

Task:

import java.util.Objects;


public class Task {
    private static long id;
   private String name;
    private String description;
    private TaskStatus status;

    public Task(String name, String description, TaskStatus status) {
        this.name = name;
        this.description = description;
        this.status = status;
    }

    public static long getId() {
        return id;
    }

    public TaskStatus getStatus() {
        return status;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public void setStatus(TaskStatus status) {
        this.status = status;
    }

    public static void setId(long id) {
        Task.id = id;
    }

    public String getName() {
        return name;
    }

    public String getDescription() {
        return description;
    }

    @Override
    public String toString() {
        return "Task{" +
                "name='" + name + '\'' +
                ", description='" + description + '\'' +
                ", status=" + status +
                '}';
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || this.getClass() != o.getClass()) return false;
        Task task = (Task) o;
        return Objects.equals(task.id, this.id) &&
                Objects.equals(task.name, this.name) &&
                Objects.equals(task.description, this.description) &&
                Objects.equals(task.status, this.status);
    }

    @Override
    public int hashCode() {
        return Objects.hash(name, description, status);
    }
}

Manager:

import java.util.*;

public class Manager {
    private HashMap<Integer, Task> allTacks;


    public Manager() {
        this.allTacks = new HashMap<>();
    }


    public void createNewTask(String name, String description, TaskStatus status) {
        allTacks.put(Task.getId(), new Task(name, description, status));
    }

    public HashMap<Integer, Task> getAllTacks() {
        return allTacks;
    }
}

TaskStatus:

public enum TaskStatus {
    NEW,
    IN_PROGRESS,
    DONE
}

Ответы (1 шт):

Автор решения: Владимир

В классе Task добавил ++ и все сработало.

public static long getId() {
        return id++;
    }
→ Ссылка