【发布时间】:2010-11-02 11:35:20
【问题描述】:
我在 Java 中有一个 ArrayList,它由一个包含两个字符串和一个整数的类型组成。我可以成功测试此 ArrayList 的一个元素是否等于另一个元素,但我发现 contains 方法失败。我相信这是因为我的类型不是原始的。
现在我看到了两个替代方案,我想知道哪个是最好的选择:
通过遍历 ArrayList 并测试每个元素与我正在寻找的元素的相等性,然后打破循环,来实现我自己的 contains 方法。
或者使用我类型的 HashMap 作为键,以整数作为值,而不是使用 ArrayList。这里我可以使用 containsKey 方法来检查一个元素是否已经存在于 HashMap 中。
方法#2的唯一警告是,在我的情况下,该值在很大程度上是多余的。
【问题讨论】:
-
查看 ArrayList 的源代码,你会发现实现已经很简单了。