Java - 检查ArrayList中的所有项是否满足条件

13
myArrayList = {"Method and apparatus","system and method for the same","drive-modulation method"," METHOD FOR ORTHOGONAL"}

如何检查所有项目(myArrayList)是否包含单词"method"(不区分大小写)

如果所有项目都包含该单词,则布尔方法返回true,否则返回false

6个回答

49
在Java8中,您可以使用stream和matching来简化您的代码。
 return arrayList.stream().allMatch(t -> t.toLowerCase().contains("test"));

2
如果您正在使用Java 8,请使用正确的方法。OP想要检查每个项目是否包含字符串。因此,请使用“allMatch”而不是“filter”。 - Flown

11

使用迭代和contains。如果您想进行大小写特定的操作,请删除或条件。

   public static boolean isListContainMethod(List<String> arraylist) {
    for (String str : arraylist) {
        if (!str.toLowerCase().contains("method")) {
            return false;
        }
    }
    return true;
}

@SURESH:我怎么可以检查句子大小写,例如“方法和装置”? - Prabu
@Prabu if (!str.toLowerCase().contains("方法和设备")) { - Suresh Atta
@SURESH:它总是返回false,但所有项目都有完全相同的句子“方法和装置”。 - Prabu
@Suresh:现在它正在工作,IF条件中有一个简单的错误!(!str.toLowerCase().contains("method and apparatus".toLowerCase())) - Prabu
@Prabu 没问题。每个人都会犯错..愉快的编程。 - Suresh Atta

2
    public boolean listContainsAll(List<String> list) {
    for (String item : list) {
        if (!item.toLowerCase().contains("method")) {
            return false;
        }
    }

    return true;
}

2

简单的循环检查条件,为了避免错误的单词如'somewordmethod',添加了空格:

    boolean result = true;
    for (String elem : yourList) {
        if (!elem.toLowerCase().contains(" method ")) {
            result = false;
            break;
        }
    }
    return result;


 return result;

2

您需要检查整个数组列表,如果有一个字符串不含该单词,则返回false。

public static void main(String[] args) {
ArrayList<String> list = new ArrayList();
list.add("I have the name");
list.add("I dont have the number");
list.add("I have a car");
System.out.println(check(list, "I"));
}

private static boolean check(ArrayList<String> list, String word) {
// TODO Auto-generated method stub
for(String s : list)
if(!list.contains(word))
    return false;
return true;
}

2

ArrayList 实现了 List 接口。

如果你查看 List 的 Javadoc 中的 contains 方法,你会发现它使用 equals() 方法来判断两个对象是否相同。

int tempCount = 0;
for (String str : arraylist) {
    if(str.conatains("method") || str.conatains("Method")) {
        tempCount++;
    }    
}

if(tempCount == arraylist.size()) {
    return true;
} else {
    return false;
}

2
这个答案是从https://dev59.com/gXE85IYBdhLWcg3wtV_1#2642709复制粘贴的。Savi,你不能只是复制别人的答案;至少你必须给出一个链接指向你复制的答案。 - JJJ
equals() 和豆子的价格有什么关系? - NomadMaker

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接