-1

keywordsのリストに基づいて ArrayList から呼び出されたオブジェクトを取得しようとしていますterms

オブジェクトのインデックスを取得して別の ArrayList にコピーするコードを書きましたAr2

    public ArrayList GetGrams(int n, ArrayList Keywords) {
    ArrayList Ar = new ArrayList();
    ArrayList Ar2 = new ArrayList();

    for (int i = 0; i < terms.size(); i++) {
        if (Keywords.toString().contains(terms.get(i).toString())) 
        {
            String myString = terms.get(i).toString();;
            int myIndex=0;
            myIndex = Keywords.toString().indexOf(myString,0);

            Ar.add(terms.get(i));
            Ar2.add(Keywords.get(myIndex));
        }
    }
}

問題は、キーワードに150個のキーワードしか含まれていないのに、1181であるインデックスが間違っていることです。

要約すると、対応するオブジェクトを、keywordsに一致する Ar2にコピーする必要がありますterms

4

1 に答える 1

0

インデックスを使用して文字列内の単語の位置を見つけますが、ArrayList独自のインデックスがあります。
これは正しくありません:Keywords.get(myIndex))どこで間違いなくサイズmyIndexよりも大きくなります. 次に、に変換する必要はありません。使用するだけです。ArrayList
ArrayListStringkeywords.contains(object)

于 2013-07-12T01:28:08.500 に答える