Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 检查行上字符序列的最佳方法 我有一个输入流,我想用来读取特定的消息,不管它是否包含在地图中,例如:你必须考虑:无效的卡号。< /代码> /这是行。_Java_Loops_Map - Fatal编程技术网

Java 检查行上字符序列的最佳方法 我有一个输入流,我想用来读取特定的消息,不管它是否包含在地图中,例如:你必须考虑:无效的卡号。< /代码> /这是行。

Java 检查行上字符序列的最佳方法 我有一个输入流,我想用来读取特定的消息,不管它是否包含在地图中,例如:你必须考虑:无效的卡号。< /代码> /这是行。,java,loops,map,Java,Loops,Map,我想检查此行是否包含地图的“无效卡号”键 我们必须遍历映射并检查该行是否包含消息 String line = "you must consider : Invalid card number."; for (String key : map) { if(line.contains(key)) { throw new Exception(key.value()); } } 但是我们必须对流的每一行遍历这个映射 这是一种好的做法吗?正如其他人在评论中所说,是的,这可

我想检查此行是否包含地图的“无效卡号”键

我们必须遍历映射并检查该行是否包含消息

String line = "you must consider : Invalid card number.";
for (String key : map) {
    if(line.contains(key)) {
        throw new Exception(key.value());
    }
}
但是我们必须对流的每一行遍历这个映射


这是一种好的做法吗?

正如其他人在评论中所说,是的,这可能是实现这一目标的唯一方法

另一方面,您的
for语句应该如下所示(假设您的映射是java.util.map):


正如其他人在评论中所说,是的,这可能是实现这一目标的唯一途径

另一方面,您的
for语句应该如下所示(假设您的映射是java.util.map):


迭代有什么问题?应用程序太慢?你的意思是“是否”不是“天气”文件的大小是多少?它包含多少行?如果我正确理解您的问题,您有一个输入字符串,并希望验证它是否包含预定义列表中的任何字符串。没有比逐个检查更好的方法了(除了可能对字符串长度进行一些简单的检查)。如果映射大小为100,那么我们必须迭代100次。如果流的大小是2000,那么会发生什么?迭代有什么问题?应用程序太慢?你的意思是“是否”不是“天气”文件的大小是多少?它包含多少行?如果我正确理解您的问题,您有一个输入字符串,并希望验证它是否包含预定义列表中的任何字符串。没有比逐个检查更好的方法了(除了可能对字符串长度进行一些简单的检查)。如果映射大小为100,那么我们必须迭代100次。那么如果流的大小是2000,那么会发生什么呢?
for (String key : map.values()) {