2011-02-07 2 views
3

arrayList内の位置5〜10の間で検索することはできますか?配列リストの一部で検索する -

どのようにですか?

この場合、私は、位置1-5、5-10の間で検索を行う必要があります...と私は別のリストに

EDITを避けたい:私はその

if (pp.move(i).subList(5, 10).contains(pn50.getText())) { 
のようなものを持っています

しかし、私は、このコードに問題があり、私のようなメソッドを呼び出すneedto:

if (pp.move(i).suit().subList(5, 10).contains(pn50.getText())) { 

が、私はエラーを取得:メソッドサブリスト(int型、int)がString型のため おかげで定義されていません!

答えて

5

必要なもの(これは高価な操作ではありません)のサブリストを取得し、そのリスト全体を検索することができます。以下のようなので:

if (myList.subList(0, 5).contains(objectToFind)) { 
    System.out.println("Found object between indexes 0 and 5"); 
} 

がUPDATE:

String[] suitArray = pp.move(i).suit().split(","); 
List myList = List list = Arrays.asList(suitArray); 

そして、最初に使用します。文字列はカンマで区切られている場合はそうは次のように、そしてあなたがそれを行うことができ、最初のリストにスーツのあなたの文字列を変換します上記のコードをチェックしてください。さて、あなたがString内の何かを探しているだけなら、おそらくリストに変換しない方が効率的ですが、それはまったく新しい質問です。

あなた suit()方法が Stringを返すように宣言されているためである必要があり
+0

こんにちはケニー、お返事ありがとうございます。 1つ質問してください。私はもっ​​と何かが必要です。投稿更新を見ることができますか? – user455318

+0

更新されたコードが何をしようとしているのか分かりません。 suit()はListではないStringオブジェクトを返すので、あなたは間違いなくsubList()を呼び出すことはできません。 suit()によって返されるStringには何が入っていますか? –

+0

ハーツ、クラブなどのようなカードのスーツの文字列 – user455318

0

サブリストを取得しても問題ありませんか?

ArrayList.subList(fromIndex, toIndex); 

あなたの項目のサブセットを持っている。この方法で、それらを操作し、まだ「新しい」リスト(元のリストを変更しますサブリストを変更する)

0

but i get an error: The method subList(int, int) is undefined for the type String thanks!!

+0

とどのようにする必要がありますか?エラーが発生しないようにするには、 – user455318

+0

を文字列に使用し、サブリストではなく部分文字列を使用してください。http://download.oracle.com/javase/6/docs/api/java/lang/String.html#substring(int、int) – Yuval

関連する問題