【问题标题】:Find and Add multiple values in ArrayList在 ArrayList 中查找并添加多个值
【发布时间】:2018-04-25 20:14:06
【问题描述】:

我想从给定的示例数据中添加 programPercentTotalViewed,其中 programId 与 ArrayList 相同,例如 programId= 59554。 我该怎么做。

1- programId=59554, programPercentTotalViewed=50 
2- programId=30583, programPercentTotalViewed=15 
3- programId=59554, programPercentTotalViewed=5 
4- programId=30583, programPercentTotalViewed=5 
5- programId=59554, programPercentTotalViewed=5 
6- programId=30583, programPercentTotalViewed=5 
7- programId=59554, programPercentTotalViewed=5

    List<LiveEventsDto> eventsList = liveEvents;
        Set<String> names = new HashSet<String>();
        for (LiveEventsDto singleEvent : eventsList) {
            if (names.contains(singleEvent.getProgramId())) {
                System.out.println("Because same programId exists: " + singleEvent.getProgramId());
                System.out.println("ProgramPercentTotalViewed: " + singleEvent.getProgramPercentTotalViewed());

            } else {
                System.out.println("Because same programId  DOES NOT exists: " + singleEvent.getProgramId());
            }
        }

【问题讨论】:

  • 这里的汽车和名字是什么?你能解释一下吗?
  • 那是一个不起作用的示例代码。
  • 添加您的示例代码,我们会尽力修复它
  • 为什么我投票失败了?
  • 看看我的回答

标签: java list for-loop arraylist indexing


【解决方案1】:

通常是这样的:

Map<Integer, Integer> sums = new HashMap<>();
for (LiveEventsDto car: cars) {
    int key = car.getProgramId();
    int count = car.getProgramPercentTotalViewed();
    if (sums.containsKey(key) {
        count += sums.get(key);
    }
    sums.put(key, count);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-01
    • 1970-01-01
    • 2023-04-06
    相关资源
    最近更新 更多