【发布时间】:2018-12-18 06:23:51
【问题描述】:
我需要在 Salesforce 中合并重复项。合并操作只需要最多 2 个重复项。所以我想将列表(如果它的元素超过 2 个)分成多个大小为 2 的较小列表并执行合并操作。
【问题讨论】:
标签: java salesforce apex
我需要在 Salesforce 中合并重复项。合并操作只需要最多 2 个重复项。所以我想将列表(如果它的元素超过 2 个)分成多个大小为 2 的较小列表并执行合并操作。
【问题讨论】:
标签: java salesforce apex
如果您愿意使用第三方库,这是一项单行工作。
使用番石榴:
导入: import com.google.common.collect.Lists;
Lists.partition(list, 2);
使用 Apache 常用集合:
导入: import org.apache.commons.collections4.ListUtils;
ListUtils.partition(list, 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;
}
}
请注意,这只是我的想法,我确信有更好的解决方案!
【讨论】: