【发布时间】:2020-02-15 21:43:48
【问题描述】:
在下面的代码中,如何在内部 For Each 循环中,从我们在外部 For Each 循环中创建的 List 类型的变量创建一个 int 类型的变量?然而,如果我们尝试创建这个原始类型 int 的变量,就会出现错误。无法弄清楚我们如何从 userAge 而不是从 userAges 创建一个类型为 int 的 For Each 变量。
List <List<Integer>> userAges = new ArrayList<List<Integer>>();
userAges.add(Arrays.asList(51, 48, 21));
userAges.add(Arrays.asList(33, 51, 19));
userAges.add(Arrays.asList(39, 47, 58));
for (List<Integer> userAge : userAges)
{
for (int age : userAge)
{
System.out.print(age + " ");
}
System.out.println();
}
【问题讨论】:
-
因为
int age : userAge可以读作“对于userAge中的每个int age做...”。它实际上与外部循环相同,其中一个循环遍历所有List<Integer> userAge和List<List<Integer>> userAges。 -
不确定我是否理解“我们如何正确地从 userAge 创建一个类型为 int 的 For Each 变量,而不是从 userAges”...
userAges是一个包含列表的列表,因此只有一个条目将是 List 类型,而不是 Integer 类型:List<Integer> firstEntry = userAges.get(0)。这有帮助吗?
标签: java loops arraylist foreach nested