如何检查java中多维字符串数组中包含的值

时间:2016-11-22 07:15:31

标签: java arrays multidimensional-array

如何在java 8中检查多维字符串数组中包含的值。

到目前为止,我一直在使用它,

public  boolean exists(String value) {

    String[][] actType=Helper.getTypes();
    for(int i = 0; i< actType.length; i++){
        for (int j = 0; j<actType[i].length; j++){
            if(actType[i][j].equals(value)){
                return true; 
            }
        }
    }
    return false;
}

我想知道,有没有java 8方法

1 个答案:

答案 0 :(得分:1)

您可以使用嵌套的Stream.of(T values...)将数组转换为流,然后使用方法引用:

public  boolean exists(String value) {
    String[][] actType=Helper.getTypes();
    return Stream.of(actType).flatMap(Stream::of).anyMatch(value::equals);
}

Stream.of(actType)会为您提供String[]的流,flatMap与另一个Stream::of相结合,会为您提供String的信息流。如果这些字符串中的任何一个等于您的值anyMatch将返回true