将list中元素,两两配对为Pair
/**
* ※Desc : 将list中元素, 两两组队为Pair
* ※Author : zhangs@em.com
* ※Date : 2021/11/17
*/
public static <T> List<Pair<T, T>> combineTwoElement(List<T> list) {
List<Pair<T, T>> 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;
}
public static <T> List<Pair<T, T>> ll (List<T> list){
List<Pair<T, T>> resultList = Lists.newArrayListWithExpectedSize(list.size()*list.size()/2);
for (int j = 1; j < list.size(); j++) {
resultList.add(new Pair<T, T>(list.get(0), list.get(j)));
}
return resultList;
}