【发布时间】:2011-10-20 07:57:25
【问题描述】:
出于我不想深入讨论的原因,我有一堆并行数组,我很好奇确保它们长度相同的最优雅的方法是什么。 (如果其中一个长度错误,则肯定有数据丢失,数组无法正确对齐)。
我不喜欢做...的想法
if(array1.length != array2.length || array1.length != array3.length etc...)
这看起来很可怕,我真的希望有一个更优雅的方式......
我的冲动是将它们的长度加在一起并除以数组的总数,看看该数字是否与数组长度之一相同,但我愿意接受建议(以及被告知我的由于某种我忽略的原因,这个想法行不通)。
我在使用 Java,但我怀疑这个问题的答案与语言无关。
【问题讨论】:
-
我猜你已经知道了,但正确的解决方案是“不要使用并行数组”。
-
你的冲动也行不通:如果你有长度为 2、1 和 3 的数组,则平均值为 2,与第一个数组相同,但它们的长度都不同。跨度>
-
好吧,你说的完全没用——博士。德雷德尔。作者特意说过,由于某种原因,他必须使用并行数组。有时为了方便、实际需要和依赖约束,你不得不打破编程的一些崇高思想。
-
如你所料...我对此一点也不兴奋...但我在别人的代码中,无法解开这个特殊的毛线球。尽管如此,我还是想知道这个问题的答案,如果只是想知道是否有一些非常好的方法可以在一个优雅的测试中比较一堆事物的相等性。
-
@andrew...谢谢...这正是我希望的“不会剪掉它”的例子...我会责怪自己没有想到这是我的今天在我屏幕前的第 15 小时 :)