拉姆达 两个list 根据两个list得下标 进行循环判断 如果 下标相同 并且 其中一个list下标得值为true 那么 另一个list 得相同下标得值 放入map
时间: 2023-03-31 19:00:21 浏览: 56
可以的,根据您的描述,可以使用以下代码实现:
```
Map<Integer, Boolean> map = new HashMap<>();
for (int i = ; i < list1.size(); i++) {
if (i < list2.size() && i >= && list1.get(i) && list2.get(i)) {
map.put(i, list2.get(i));
}
}
```
这段代码会遍历两个列表,如果两个列表的下标相同,并且其中一个列表下标的值为 true,那么就会将另一个列表相同下标的值放入 map 中。
相关问题
拉姆达 一个list根据条件给属性赋值
可以使用 Lambda 表达式和 Stream API 来实现。例如,假设有一个 List<Person>,其中 Person 类有一个属性 age,我们想将所有年龄大于 18 的人的 isAdult 属性设置为 true,可以这样写:
list.stream()
.filter(person -> person.getAge() > 18)
.forEach(person -> person.setIsAdult(true));
其中,filter() 方法用于过滤出年龄大于 18 的人,forEach() 方法用于遍历符合条件的人并设置 isAdult 属性。
c++ 写一个拉姆达表达式 示例
Lambda表达式是一种匿名函数,可以用于创建一个函数对象,可以在需要函数的任何地方使用。下面是一个示例Lambda表达式:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
int main()
{
std::vector<int> vec{ 1, 2, 3, 4, 5 };
std::for_each(vec.begin(), vec.end(), [](int n){ std::cout << n << " "; });
// 输出:1 2 3 4 5
auto sum = [](int a, int b){ return a + b; };
std::cout << sum(3, 4); // 输出:7
return 0;
}
```
这个示例演示了如何使用Lambda表达式来迭代一个整数向量,以及如何使用Lambda表达式来定义一个简单的加法函数对象。Lambda表达式的基本语法是:
```c++
[capture-list](parameter-list) -> return-type { function-body }
```
其中,capture-list是捕获列表,用于捕获外部变量,parameter-list是参数列表,用于定义函数参数,return-type是返回类型,用于定义函数返回类型,function-body是函数体,用于定义函数操作。在上面的示例中,我们使用了两个不同的Lambda表达式。第一个Lambda表达式没有参数,捕获列表为空,函数体中使用了std::cout输出向量中的元素。第二个Lambda表达式有两个参数,捕获列表为空,函数体中使用了加法运算符来计算两个整数的和。