说我有一个字符串
String s = bob
和 ArrayList
["alex [available]", "bob [away]", "craig [busy]", "david [gone fishing]"]
我将如何搜索列表以获取 [1] 处的元素?
说我有一个字符串
String s = bob
和 ArrayList
["alex [available]", "bob [away]", "craig [busy]", "david [gone fishing]"]
我将如何搜索列表以获取 [1] 处的元素?
String strToSearch = yourString + " [";//"bob ["
for (int i = 0; i < list.size(); i++){
if (list.get(i).startsWith(strToSearch)){
neededIndex = i;
break;
}
}
您必须迭代列表并对String.contains("bob")
每个项目执行一次。
for (String item : listOfItems) {
if (item.contains("bob") {
return item;
}
}
也许您应该将搜索词扩展为,bob [
因为“bob”可能包含在另一个名称中。
您可能应该使用地图而不是列表。在这种情况下,您需要使用循环。
List<String> nameStatusList = ...
String s = "bob";
FOUND: {
for(String ns: nameStatusList)
if(ns.startsWith(s + " [")) {
System.out.println(ns);
break FOUND;
}
System.out.println("Couldn't find " + s);
}
for (String str: list) {
if (str.contains(s)) {
return str;
}
}
换成以防万一str.contains(s)
。str.matches("^"+s+" [")
像这样的东西:
String string = "bob";
private List <String> list = new ArrayList<String>(){{
add("alex [available]");
add("bob [away]");
add("craig [busy]");
add("david [gone fishing]");
}};
public void method(){
String answer;
for (String s : list){
if (s.contains(string)){
answer = s;
break;
}
}
}