Android Studio 中的内部 for 循环

Inner for loop in Android Studio

我有一个 Java 代码是在 Android Studio 中编写的。我有两个数组列表(日期和访客)。我想添加一个日期和该日期相应的访问者数量,但是当我 运行 我的代码时,它成功添加了日期,但它添加了所有访问者的数量。我有 6 个日期,第一个日期是 2021-12-28,代码向该日期添加了 6 个访问者,然后转到第二个日期并再次添加了 6 个访问者。这是我的代码:

ArrayList<PieEntry> barEntries = new ArrayList<>();
for (int i = 0; i < dates.size(); i++){
    for (int a = 0; a < visitors.size(); a++){
        String date= dates.get(i);
        int numberofvisitors = visitors.get(a);
        barEntries.add(new PieEntry(numberofvisitors , date));
    }
}

在您的代码中,您每次查看一个日期时都会查看所有访问者。这就是内部循环正在做的事情。

你想看一个日期,每次算一个访客。

摆脱内部循环并使用您的 i 变量来引用您的日期和访客列表。

ArrayList<PieEntry> barEntries = new ArrayList<>();
for (int i = 0; i < dates.size(); i++){                         
    String date= dates.get(i);                              
    int numberofvisitors =  visitors.get(i);                             
    barEntries.add(new PieEntry(numberofvisitors , date));
}