如何在定制的arraylist中搜索?

时间:2013-09-14 18:37:56

标签: java arraylist

我有一个像这样构建的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”?

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

2 个答案:

答案 0 :(得分: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#()是获取Strings中每个MyQueue的方法

答案 1 :(得分:0)

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