【发布时间】:2021-11-24 15:30:36
【问题描述】:
我想比较两个字符串数组(大小相同),并根据其索引检查 mainArray 是否包含 subArray 中的元素;
public static void main(String[] args) {
List<String> mainArray = Arrays.asList("Red book", "Yellow bird", "Green sky");
List<String> subArray = Arrays.asList("Red", "Yellow", "Green");
boolean flag = false;
for (int i = 0; i < mainArray.size(); i++) {
flag = mainArray.get(i).contains(subArray.get(i));
if(!flag){
break;
}
}
}
//returns true
这看起来很丑陋,哪里有使用 stream.filter 或其他东西的解决方案?
【问题讨论】:
-
只是关于命名法的提示:这些是列表,而不是数组。数组很少在 Java 中直接使用,可能用于原始类型除外。此外,从 Java 9 开始,
List.of(...)主要是Arrays.asList(...)的替代品(它在某些地方的行为有点不同,但在大多数情况下,它是直接替代品)。