Java 实现我自己的练习助手应用程序-收集注意事项
我正在尝试实现我自己的健身应用程序 我不知道哪一套最适合我 因此,使用集合的类称为“Exercise” 它有3个变量,如下所述:Java 实现我自己的练习助手应用程序-收集注意事项,java,android,collections,Java,Android,Collections,我正在尝试实现我自己的健身应用程序 我不知道哪一套最适合我 因此,使用集合的类称为“Exercise” 它有3个变量,如下所述: public class Exercise { private String description; private Map<Double, Integer> WeightsNRep; private char category; public Exercise(String description, char category){ this
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;
}
公开课练习{
私有字符串描述;
私有地图权重snrep;
私有字符类别;
公共练习(字符串描述,字符类别){
这个。描述=描述;
WeightsNRep=新HashMap();
this.category=类别;
}
如你所见,它包含三个变量,其中一个是描述,有趣的是权重snrep——它需要保存每个集合的数据——这意味着它将保存集合1、NumberOFRepInSet1、集合2、NumberOFRepInSet2的权重,直到练习结束
我对收藏有几个要求:
如果使用权重作为键的贴图,则权重必须是唯一的(因为它是键)对于每一个集合,您应该考虑使用每个集合的权重和ReP的对象,并将其放在列表中,如果该命令对LIKEDLIST非常重要,如果不是AARAYLIST。 < P>您应该创建一个类,叫做“代码> ReStP< <代码>:
class RepSet {
double weight;
int reps;
// Constructor (and any getters that may be required) omitted for brevity.
}
并在WeightsNRep
字段中存储这些属性的列表
private List<RepSet> WeightsNRep = new ArrayList<>();
“其次,我希望它是可读的"没有现成的集合可以为您做到这一点,至少不是以您描述的特定格式。无论您选择何种结构,您最终都会自己构建该字符串,因此这或多或少不是一项要求。问题是什么?@AndyTurner我知道。我曾想过重写to string功能,但仍然希望内部可以很好地访问变量
"Description : " + Description
+ WeightsNRep.stream().map(r -> r.weight + "\t" + r.reps).collect(joining("\t"))