StudentNameList = new List<string>() { "张三", "李四", "王五", "赵六", "小明", }; 怎么循环往里面加数据
时间: 2023-09-10 13:05:46 浏览: 130
你可以使用循环语句(例如for循环)来往列表中添加数据。以下是一个示例代码:
```
List<string> StudentNameList = new List<string>() { "张三", "李四", "王五", "赵六", "小明" };
for (int i = 0; i < 5; i++)
{
Console.WriteLine("请输入第" + (i+1) + "个学生的姓名:");
string name = Console.ReadLine();
StudentNameList.Add(name);
}
Console.WriteLine("添加完毕!列表中的学生姓名为:");
foreach (string student in StudentNameList)
{
Console.WriteLine(student);
}
```
在这个示例中,我们首先创建了一个包含初始学生姓名的列表。然后,通过使用for循环来循环5次(因为我们已经有了5个初始姓名),在每次循环中,我们通过Console.ReadLine()方法接收用户输入的学生姓名,并将其添加到列表中(StudentNameList.Add(name))。最后,我们使用foreach循环遍历列表并打印出所有学生的姓名。
请注意,这是一个简单的示例,仅用于说明如何循环添加数据到列表中。在实际应用中,你可能需要根据具体的需求进行适当的修改和扩展。
相关问题
<table border="1"> <tr><td><input type="radio" name="vote"></td><td>张三<td></tr> <tr><td><input type="radio" name="vote"></td><td>李四<td></tr> <tr><td><input type="radio" name="vote"></td><td>王五<td></tr> <tr><td><input type="radio" name="vote"></td><td>赵六<td></tr> </table><br>为什么会多出一列
这段 HTML 代码中出现多出一列的原因是因为在第 3 行代码中, `<td>` 标签没有正确闭合,导致 HTML 解析器将第 4 行代码中的 `<td>` 标签作为第 3 行代码的子节点,从而导致第 3 行代码多出一个列。
正确的代码应该是:
```
<table border="1">
<tr>
<td><input type="radio" name="vote"></td>
<td>张三</td>
</tr>
<tr>
<td><input type="radio" name="vote"></td>
<td>李四</td>
</tr>
<tr>
<td><input type="radio" name="vote"></td>
<td>王五</td>
</tr>
<tr>
<td><input type="radio" name="vote"></td>
<td>赵六</td>
</tr>
</table><br>
```
这样就不会出现多出一列的情况了。
帮我优化一下下面的代码: public class TestController { public static void main(String[] args) { String textA = "开发,总监:张三,李四"; String textB = "运维,总监:张三,王五"; String textC = "开发,运维:王五,李四"; List<String> textList = new ArrayList<>(Arrays.asList(textA,textB,textC)); Map<String,Set<String>> result = new HashMap<>(); for (String text : textList) { String[] split = text.split(":"); String[] positions = split[0].split(","); String[] users = split[1].split(","); for (String position : positions) { Set<String> list = result.get(position); if (list == null){ Set<String> userResult = new HashSet<>(); for (String user : users) { userResult.add(user); } result.put(position,userResult); }else { for (String user : users) { list.add(user); } } } } System.out.println(result); } }
以下是代码优化后的结果:
```java
public class TestController {
public static void main(String[] args) {
String textA = "开发,总监:张三,李四";
String textB = "运维,总监:张三,王五";
String textC = "开发,运维:王五,李四";
List<String> textList = Arrays.asList(textA, textB, textC);
Map<String, Set<String>> result = new HashMap<>();
for (String text : textList) {
String[] split = text.split(":");
String[] positions = split[0].split(",");
String[] users = split[1].split(",");
for (String position : positions) {
result.computeIfAbsent(position, k -> new HashSet<>()).addAll(Arrays.asList(users));
}
}
System.out.println(result);
}
}
```
优化点如下:
1. 将 `ArrayList` 改为 `Arrays.asList`,利用 `Arrays.asList` 生成的列表可以进行快速的初始化,且不需要额外的内存空间。
2. 将 `if (list == null)` 改为 `result.computeIfAbsent(position, k -> new HashSet<>())`,利用 `computeIfAbsent` 方法可以快速的获得键对应的值,如果值不存在,则会新建一个值并返回。
3. 将 `for (String user : users) { list.add(user); }` 改为 `result.get(position).addAll(Arrays.asList(users));`,利用 `addAll` 方法可以快速地添加一个集合的所有元素。
阅读全文