Java:如何检查字符串是否是任何LinkedList元素的一部分?

时间:2011-10-19 22:33:29

标签: java string linked-list contain

好的,所以我有一个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!");
}

会导致打印“万岁!”

显然list.containsany不是真正的LinkedList方法,我只是为此目的使用它。

那么如何模拟我的例子?

由于

4 个答案:

答案 0 :(得分: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");
  }
}

这应该这样做,为了找到包含特定字符串的节点,需要遍历所有节点。如果你只想要一个实例,你可以打破循环。

你也想使用泛型。看看代码。否则你必须将节点强制转换为String。

答案 1 :(得分: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!");
        } 
    }

答案 2 :(得分:0)

答案 3 :(得分: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);
            }
        }
    }
}