【问题标题】:How to break a master list into multiple list of size two如何将主列表分解为多个大小为 2 的列表
【发布时间】:2018-12-18 06:23:51
【问题描述】:

我需要在 Salesforce 中合并重复项。合并操作只需要最多 2 个重复项。所以我想将列表(如果它的元素超过 2 个)分成多个大小为 2 的较小列表并执行合并操作。

【问题讨论】:

    标签: java salesforce apex


    【解决方案1】:

    如果您愿意使用第三方库,这是一项单行工作。

    使用番石榴:

    导入: import com.google.common.collect.Lists;

    Lists.partition(list, 2);
    

    使用 Apache 常用集合

    导入: import org.apache.commons.collections4.ListUtils;

    ListUtils.partition(list, 2)
    

    如果您不想使用第三方库,请告诉我,我会更新我的答案。

    【讨论】:

      【解决方案2】:

      不确定如何扩大合并,但您可以执行以下操作来分解列表:

      Integer count = 0;
      List<List<SOBJECT>> lists = new List<List<SOBJECT>> (); 
      for (SOBJECT record : LIST) {
      
          if (count == 0) {
              List<SOBJECT> toAdd = new List<SOBJECT> ()
          }        
      
          if (count < 2) {
              toAdd.add (record);
              count++;
          } else {
              lists.add (toAdd);
              count = 0;
          }
      }
      

      请注意,这只是我的想法,我确信有更好的解决方案!

      【讨论】:

        猜你喜欢
        • 2012-07-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-20
        • 2012-07-12
        • 2014-04-07
        • 1970-01-01
        • 1970-01-01
        • 2022-12-22
        相关资源
        最近更新 更多