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

好的,所以我有一个LinkedList,我有一个字符串。 我想检查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方法,我只是为此目的使用它。

那我怎么模拟我的例子呢?

谢谢

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

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

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

 String a = "apple"; String listelement = "a bunch of apples"; LinkedList list = new LinkedList(); list.add(listelement); Iterator li = list.iterator(); while (li.hasNext()) { if (li.next().contains(a)) { System.out.println("Hooray!"); } } 

您必须遍历列表,并检查每个节点的值以查看它是否为字符串。 如果你可以保证链表的所有成员都应该是字符串,那么使用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 list = new LinkedList(); 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); } } } }