java - Java 中的数组数组

标签 java php jsp tomcat

这对我来说很糟糕...我是一名 PHP 人员,在一个 JSP 项目中使用 Java 进行工作。我知道如何通过过多的代码和完全缺乏技巧来做我正在尝试的事情。

我宁愿做对。这是情况:

我正在编写一个小型显示屏,向客户展示他们可以根据浇水组 (ABCDE) 和一年中的什么时间浇灌草坪。我们的季节是这样的: 夏季(5-1 至 8-31) Spring (3-1 至 4-30) 秋季(9-1 至 10-31) 冬季(11-1 到 2-28)

一个例子可能是:

如果我在 A 组,这是我允许的时间: 冬季:仅限周一 Spring :周二、周四、周六 夏季:任何一天 秋季:周二、周四、周六

如果我用 PHP 编写此代码,我会使用这样的数组:

//M=Monday,t=Tuesday,T=Thursday.... etc
$schedule["A"]["Winter"]='M';
$schedule["A"]["Spring"]='tTS';
$schedule["A"]["Summer"]='Any';
$schedule["A"]["Fall"]='tTS';
$schedule["B"]["Winter"]='t';

我可以将日期设为数组 (array("Tuesday","Thursday","Saturday")) 等,但这对于我真正想要完成的事情来说并不是必需的。

我还需要设置数组以确定我所处的季节:

$seasons["Summer"]["start"]=0501;
$seasons["Summer"]["end"]=0801;

谁能推荐一个非常酷的方法来做到这一点?我会有今天的日期和群信。我需要一天 (M) 或一系列天 (tTS),(任何)离开我的职能。

最佳答案

您可以使用 Hashtables(或其他一些 Map)执行基本相同的代码:

Hashtable<String, Hashtable<String, String>> schedule
    = new Hashtable<String, Hashtable<String, String>>();
schedule.put("A", new Hashtable<String, String>());
schedule.put("B", new Hashtable<String, String>());
schedule.put("C", new Hashtable<String, String>());
schedule.put("D", new Hashtable<String, String>());
schedule.put("E", new Hashtable<String, String>());

schedule.get("A").put("Winter", "M");
schedule.get("A").put("Spring", "tTS");
// Etc...

没有那么优雅,但话又说回来,Java 不是动态语言,它在语言级别上没有哈希。

注意:您也许可以做一个更好的解决方案,这是我在阅读您的问题时突然想到的。

关于java - Java 中的数组数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12870/

相关文章:

java - 比较字符串数组并返回最小的一个

java - 在中央找不到 Maven Artifact

php - 找不到 Laravel 5 接口(interface) 'Illuminate\Contracts\Broadcasting\ShouldBroadcast'

html - 右侧的两个 div 标签相互覆盖

java - 在名称为 'HelloWeb' Spring MVC 的 DispatcherServlet 中找不到具有 URI [/HelloWeb/] 的 HTTP 请求的映射

java - Android 如何显示已下载文件的列表?

java - Android 锁屏应用程序按钮悬停和序列

php - 使用 while 将查询结果放入数组

php - 如何使用 codeigniter 在同一字段中搜索 2 个值?

jsp - 如何通过单击 JSP 页面中的超链接或按钮将当前项目传递给 Java 方法?