gpt4 book ai didi

java - 使用 HashMap 和数组组织锻炼信息

转载 作者:行者123 更新时间:2023-12-01 13:41:02 24 4
gpt4 key购买 nike

我正在创建一个java程序来存储每次举重和重复次数的锻炼。但我不太确定如何组织数据结构。我正在考虑使用 HashMap 来存储所有内容,哈希码是执行的日期。因此,2013 年 12 月 24 日执行的操作将存储在 122413。我想要存储在那里的元素就像一个数组数组,每个数组显示举重,每个后续元素将在执行的次数和重量之间交替。

这是一个直观的示例。

arr = [["bench press",10,185,9,195,8,205],["shoulder press",10,95,8,95,6,95],...]

因此,如果我想要第二组卧推的次数和重量,它将输出如下:

You performed arr[0][1] reps of arr[0][2] for arr[0][0]
---
You performed 10 reps of 185 for bench press
-----

我知道这可以在 python 中完成,但我不确定它在 java 中是否可用?我在实现时遇到了问题,因为我发现数组的数据类型都需要是相同的类型(没有字符串和整数),这实际上没问题,因为这些数字实际上没有数值,只是被显示。但我也有点坚持将数组存储在 HashMap 中并构建数组的数组。

所以,我的问题是:这对于我想要实现的目标来说是可行的实现吗?或者有更好的方法来组织这个 Activity 吗?如果可能的话,我想按照我之前展示的那样按日期组织数据。
任何帮助或建议都会很棒。谢谢!

最佳答案

我可能会创建自定义数据结构来模拟您的场景。例如。

设置具有重量属性和代表属性的类别。

具有名称属性和集合集合的练习类。

包含练习集合和锻炼完成时间的日期属性的锻炼类。

这样,如果您想将其扩展到包括当天吃的食物,您可以将其添加到锻炼中,或者更好的选择可能是组成另一类锻炼和吃的食物。

这样,您就可以绘制出您在某一天的训练效果与饮食之间的相关性。

-- 我是一名 C# 开发人员,之前从未接触过 Java,因此如果语法或类型不正确,我深表歉意 --

public class Set {
public Set()
{
this._weight = 0;
this._reps = new ArrayList<int>();
}
private BigDecimal _weight;
private List<int> _reps;
// implement public properties / methods
}

public class Exercise {
public Exercise()
{
this._name = "";
this._sets = new ArrayList<Set>();
}
private String _name;
private List<Set> _sets;
// implement public properties / methods
}

public class Workout {
public Workout(Date workoutDate)
{
this._date = workoutDate;
this._exercises = new ArrayList<Exercise>
}
private Date _date;
private List<Exercise> _exercises;
// implement public properties / methods
}

然后您就可以存储一个列表并使用 Comparator<Workout> 的自定义实现按日期对它们进行排序。

关于java - 使用 HashMap 和数组组织锻炼信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20774269/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com