List<string> list1和List<string> list2 取list1中含有几个list2中的值
时间: 2024-02-05 17:10:53 浏览: 120
可以使用 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<String>list和List<List<String>>的区别
List<String> list是一个泛型为String的List,它可以存储多个String类型的元素。而List<List<String>>是一个泛型为List<String>的List,它可以存储多个List<String>类型的元素。
具体区别如下:
1. 元素类型不同:List<String> list中的元素是String类型,而List<List<String>>中的元素是List<String>类型。
2. 维度不同:List<String> list是一维的,它只能存储String类型的元素;而List<List<String>>是二维的,它可以存储多个一维的List<String>。
3. 数据结构不同:List<String> list是一个线性结构,它按照插入顺序存储元素;而List<List<String>>是一个嵌套的线性结构,它可以表示多个一维列表的集合。
阅读全文