1

我有一个这样构建的arraylist:

在课堂上:Strings.java

ArrayList<MyQueue> strings = new ArrayList<MyQueue>();
strings.add (new MyQueue("paper", "clips", "eraser"));
strings.add (new MyQueue("paperplane", "numbers", "pineapple"));

在课堂上:MyQueue.java

--Constructor with 3 string parameters--
--Getters/setters for three strings--

现在在 Strings.java 类中,我想搜索我的 ArrayList“strings”,看看它是否有字符串“paper”?

我怎样才能有效地做到这一点?

4

2 回答 2

0

遍历strings以获取每个MyQueue元素,然后遍历每个元素中的元素MyQueue以查看它是否有“纸”

for(MyQueue mq:strings){
   if(mq.getString1().equals("paper") ||
      mq.getString2().equals("paper") ||
      mq.getString3().equals("paper") )

      return true;
}
return false;

其中 getString#() 是获取每个Stringsin的方法MyQueue

于 2013-09-14T18:41:15.887 回答
0

您应该尝试覆盖equals使用第一个属性比较对象的方法。然后调用contains方法检查具有“纸张”属性的对象。contains方法equals在内部使用,因此这就是您需要覆盖 equals 的原因。

于 2013-09-14T18:41:36.410 回答