List<string> list1和List<string> list2 取list1中含有几个list2中的值
时间: 2024-02-05 12:10:53 浏览: 25
可以使用 LINQ 的 `Intersect` 方法来获取两个列表中的交集,然后计算交集的数量。示例代码如下:
```csharp
List<string> list1 = new List<string> { "apple", "banana", "orange", "pear", "peach" };
List<string> list2 = new List<string> { "banana", "grape", "pear" };
int count = list1.Intersect(list2).Count();
Console.WriteLine(count); // 输出:2
```
在上面的代码中,`Intersect` 方法获取了 `list1` 和 `list2` 中的交集,即包含在两个列表中的相同元素。然后使用 `Count` 方法计算交集的数量。在这个示例中,交集为 `{"banana", "pear"}`,所以 count 的值为 2。
相关问题
java中List<string> list1和List<string> list2 取list1中含有几个list2中的值
可以使用Java 8的Stream API来实现这个功能。具体实现步骤如下:
1.使用`filter`方法过滤出`list1`中包含`list2`中值的元素。
2.使用`count`方法统计符合条件的元素个数。
代码示例:
```
List<String> list1 = Arrays.asList("apple", "banana", "orange", "pear", "peach");
List<String> list2 = Arrays.asList("banana", "pear");
long count = list1.stream()
.filter(list2::contains)
.count();
System.out.println(count); // 输出结果为2
```
解释一下上面的代码:
首先定义了两个字符串列表`list1`和`list2`,然后使用`stream`方法将`list1`转换为一个流。
接着使用`filter`方法过滤出`list1`中包含`list2`中值的元素,`list2::contains`表示使用`list2`的`contains`方法来判断。
最后使用`count`方法统计符合条件的元素个数,输出结果为2。
List<list<string>>结构如何遍历拿到list<string>中的值
要遍历 List<List<string>> 结构中的值,您可以使用嵌套的循环来访问每个元素。以下是一个示例代码,演示如何遍历并获取其中的值:
```csharp
List<List<string>> list = new List<List<string>>();
// 添加一些示例数据
list.Add(new List<string>() { "A", "B", "C" });
list.Add(new List<string>() { "D", "E", "F" });
list.Add(new List<string>() { "G", "H", "I" });
// 遍历并打印每个元素
foreach (var subList in list)
{
foreach (var value in subList)
{
Console.WriteLine(value);
}
}
```
在上述示例中,我们首先创建了一个 List<List<string>> 对象,并添加了一些示例数据。然后,我们使用嵌套的 foreach 循环来遍历外部列表中的每个内部列表,然后再遍历内部列表中的每个字符串值,并打印出来。
请注意,这只是一个简单的示例,您可以根据实际需求进行修改和扩展。