我需要在Salesforce中合并重复项。合并操作最多只包含2个重复项。因此,我想将列表(如果元素大于2个)分解为大小为2的多个较小列表,然后执行合并操作。
答案 0 :(得分:1)
如果您愿意使用第三方库,这是一项单行工作。
使用番石榴:
导入: import com.google.common.collect.Lists;
Lists.partition(list, 2);
使用Apache通用集合:
导入: import org.apache.commons.collections4.ListUtils;
ListUtils.partition(list, 2)
如果您不想使用第三方库,请告诉我。
答案 1 :(得分:0)
不确定如何扩大合并范围,但可以执行以下操作以分解列表:
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;
}
}
请记住,这只是我的首要任务,我敢肯定有更好的解决方案!