1

次のように構築された配列リストがあります。

クラス内: 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#() は、それぞれを取得するためのメソッドStringsですMyQueue

于 2013-09-14T18:41:15.887 に答える
0

メソッドをオーバーライドしequalsて、最初の属性を使用してオブジェクトを比較するようにしてください。そして、containsメソッドを呼び出して、「紙」属性を持つオブジェクトを確認します。containsメソッドはequals内部で使用するため、equals をオーバーライドする必要があります。

于 2013-09-14T18:41:36.410 に答える