创立两两组合实体类
@Data@NoArgsConstructor@AllArgsConstructorpublic class MaterialRelevance { /** * 编码1 */ private String code1; /** * 编码2 */ private String code2;}
获取两两组合
/** * 获取一个数组中两两组合 * * @param list * @return */ public List<MaterialRelevance> combineTwoElement(List<String> list) { List<MaterialRelevance> resultList = Lists.newArrayListWithExpectedSize(list.size() * list.size() / 2); if (CollectionUtils.isEmpty(list)) { return null; } if (list.size() >= 2) { for (int j = 0; j < list.size(); j++) { resultList.addAll(ll(list.subList(j, list.size()))); } } return resultList; } private List<MaterialRelevance> ll(List<String> list) { List<MaterialRelevance> resultList = Lists.newArrayListWithExpectedSize(list.size() * list.size() / 2); for (int j = 1; j < list.size(); j++) { resultList.add(new MaterialRelevance(list.get(0), list.get(j))); } return resultList; }