1

さて、LinkedList と String があります。String が LinkedList 要素のいずれかに含まれているかどうかを確認したい。例えば:

String a = "apple";
String listelement = "a bunch of apples";
LinkedList list = new LinkedList();
list.add(listelement);
if(list.containsany(a){
   System.out.println("Hooray!");
}

「Hooray!」と出力されます。

明らかに、list.containsany は実際の LinkedList メソッドではありません。この目的のために使用しているだけです。

では、どうすれば私の例をシミュレートできますか?

ありがとう

4

4 に答える 4

9
String a = "apple";
String listelement = "a bunch of apples";
List<String> list = new LinkedList<String>();
list.add(listelement);
for(String s : list){
  if(s.contains(a)){
   syso("yes");
  }
}

ノードに特定の文字列が含まれていることを確認するには、すべてのノードを反復処理する必要があります。インスタンスが 1 つだけ必要な場合は、ループを中断できます。

また、ジェネリックを使用したい。コードを見てください。それ以外の場合は、ノードを文字列にキャストする必要があります。

于 2011-10-19T22:35:58.477 に答える
1
String a = "apple";
    String listelement = "a bunch of apples";
    LinkedList<String> list = new LinkedList<String>();
    list.add(listelement);
    Iterator<String> li = list.iterator();
    while (li.hasNext()) {
        if (li.next().contains(a)) {
            System.out.println("Hooray!");
        } 
    }
于 2011-10-19T22:39:04.760 に答える
0

linkedlist には、contains メソッドが含まれています。

http://download.oracle.com/javase/1.4.2/docs/api/java/util/LinkedList.html#contains(java.lang.Object )

于 2011-10-19T22:36:47.063 に答える
0

リスト全体を反復処理し、各ノードの値をチェックして、それが文字列かどうかを確認する必要があります。リンクされたリストのすべてのメンバーが文字列であることを保証できる場合は、Java の Generics を使用してすべてのメンバーを強制的に文字列にすることが役立つ場合があります。

     /*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package javaapplication1;

import java.util.LinkedList;

public class JavaApplication1 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        String a = "apple";
        String listelement = "a bunch of apples";
        LinkedList<String> list = new LinkedList<String>();
        list.add(listelement);
        list.add(new String("boogie"));
        for (String s : list) {
            if (s.contains(a)) {
                System.out.println("yes," + s + " contains " + a);
            } else {
                System.out.println("no," + s + " does not contain " + a);
            }
        }
    }
}
于 2011-10-19T22:42:50.837 に答える