Я пытаюсь реализовать собственное приложение для тренировок в спортзале.
Я столкнулся с сомнением, какая коллекция подойдет мне больше всего.
SO, класс, использующий коллекцию под названием «Упражнение», и он имеет 3 переменные, как описано:
public class Exercise {
private String description;
private Map<Double, Integer> WeightsNRep;
private char category;
public Exercise(String description, char category){
this.description=description;
WeightsNRep = new HashMap<>();
this.category = category;
}
, как вы можете видеть, он содержит три переменные, одной из которых является описание, и интересной является WeightsNRep - который должен содержать данные каждого набора - это означает, что он будет содержать WeightOFSet1, NumberOFRepInSet1, WeightOFSet2, NumberOFRepInSet2, ... пока упражнение не закончится.
У меня есть несколько требований из коллекции:
- Я могу выбрать, сколько подходов сделать - это может быть 4, 5 или 3 в зависимости от упражнения.
во-вторых, я хочу, чтобы он был читабельным, поскольку впоследствии я хочу сохранить данные в файле с этим шаблоном:
"Описание:" + Описание + \ t + WeightOFSet1 + \ t + NumberOFRepInSet1 + \ t + ..... "
до последнего повтора - и я имею в виду, что хочу переопределить функцию toString, но все же хочувнутренние переменные коллекции должны быть хорошо доступны.
Например - когда я выбрал HashMap, я понял, что, если я установлю ключ в качестве своих весов, это не будет правдой, поскольку:
- если бы я имел одинаковые веса дважды в одном наборе, второй не сохранился бы - поскольку Hashmap сохраняет только один набор для одного ключа!
- Я бы не смог сохранить этодля того, чтобы я мог просто использовать функцию получить, которая принимаетключ, чтобы получить его значение.