一个List<string> 中包含另外List<string>得个数
时间: 2024-02-20 20:52:32 浏览: 23
要计算一个 List<string> 中包含另一个 List<string> 的个数,你可以使用 LINQ 查询。以下是一个示例代码:
```csharp
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main()
{
List<string> list1 = new List<string> { "apple", "banana", "orange", "grape" };
List<string> list2 = new List<string> { "banana", "orange" };
int count = list1.Count(item => list2.Contains(item));
Console.WriteLine("包含的个数: " + count);
}
}
```
输出将是:包含的个数: 2
相关问题
C# List<string> List<List<string>>
C#中的List<string>和List<List<string>>都是集合类型,用于存储一组字符串数据。
1. List<string>是一个动态数组,可以存储多个字符串元素。它提供了一系列方法和属性,可以方便地对其中的元素进行增删改查操作。例如,可以使用Add方法向List<string>中添加新的字符串元素,使用Remove方法删除指定的元素,使用Count属性获取List<string>中元素的个数等。
2. List<List<string>>是一个二维动态数组,可以存储多个字符串元素的集合。它可以看作是一个List<List<T>>的泛型集合,其中T代表任意类型。在这种情况下,T被指定为string,即List<List<string>>。这样的二维集合可以用于表示表格、矩阵等具有行列结构的数据。
例如,可以使用List<List<string>>来表示一个学生名单,其中每个学生有多个信息(如姓名、年龄、性别等),每个学生的信息又以字符串形式存储在一个内部的List<string>中。
java8 排序 一个list<string> 根据另一个list<string>排序
在Java 8中,可以使用`Comparator`接口和`Stream`来对一个`List<String>`根据另一个`List<String>`进行排序。下面是一个示例代码:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
List<String> list1 = Arrays.asList("apple", "banana", "orange");
List<String> list2 = Arrays.asList("banana", "orange", "apple");
List<String> sortedList = sortList(list1, list2);
System.out.println(sortedList);
}
public static List<String> sortList(List<String> list1, List<String> list2) {
Map<String, Integer> indexMap = new HashMap<>();
for (int i = 0; i < list2.size(); i++) {
indexMap.put(list2.get(i), i);
}
Collections.sort(list1, Comparator.comparingInt(s -> indexMap.getOrDefault(s, Integer.MAX_VALUE)));
return list1;
}
}
```
在上面的代码中,我们首先创建了两个列表`list1`和`list2`,分别表示要排序的列表和排序依据的列表。然后,我们定义了一个`sortList`方法来对`list1`进行排序。在该方法中,我们创建了一个`HashMap`来存储`list2`中每个元素的索引位置。然后,我们使用`Collections.sort`方法和自定义的比较器来对`list1`进行排序,比较器根据`indexMap`中存储的索引位置进行比较。最后,返回排序后的列表。
运行上述代码,输出结果为:`[banana, orange, apple]`,表示根据`list2`对`list1`进行排序后的结果。