好的,所以我有一个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方法,我只是为此目的使用它。
那么如何模拟我的例子?
由于
答案 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)
linkedlist中有一个contains方法。
http://download.oracle.com/javase/1.4.2/docs/api/java/util/LinkedList.html#contains(java.lang.Object)
答案 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);
}
}
}
}