在Flutter中,您可以使用递归方式来查找包含另一个列表的列表中的任何元素。
以下是一种可能的实现方法:
以下是示例代码:
List<dynamic> findElementsContainingList(List<dynamic> inputList, List<dynamic> targetList) {
List<dynamic> results = [];
void searchList(List<dynamic> list) {
for (var item in list) {
if (item is List<dynamic>) {
searchList(item);
} else if (item.containsAll(targetList)) {
results.add(item);
}
}
}
searchList(inputList);
return results;
}
使用示例:
void main() {
List<dynamic> inputList = [
[1, 2, 3],
[4, [5, 6, [7, 8]], 9],
[10, [11, [12, 13]], 14],
];
List<dynamic> targetList = [5, 6];
List<dynamic> foundElements = findElementsContainingList(inputList, targetList);
print(foundElements); // 输出:[[5, 6, [7, 8]]]
}
以上代码会找到包含目标列表 [5, 6]
的列表 [5, 6, [7, 8]]
。请注意,该实现方法仅供参考,并未使用特定的腾讯云产品。
领取专属 10元无门槛券
手把手带您无忧上云