实际项目中,我们从数据库中查询得到的数据都是由Mapper封装成的单个list,我们想给他转为对应的Map处理两张表或多张表的数据匹配问题,增加算法效率。
1.将List转为Map
/**
* 将list转为Map
*
* @param list 原数据
* @param keyExtractor key的抽取规则
* @param <K> key
* @param <V> Value
* @return
*/
public static <K, V> Map<K, V> listToMap(List<V> list, Function<V, K> keyExtractor) {
if (list == null || list.isEmpty()) {
return new HashMap<>();
}
Map<K, V> map = new HashMap<>(list.size());
for (V element : list) {
K key = keyExtractor