code: public static <K, V> Map<K, List<V>> toListMap(Iterable<? extends Map<K, V>> mapList) {
  		final HashMap<K, List<V>> resultMap = new HashMap<>();
  		if (CollectionUtil.isEmpty(mapList)) {
  			return resultMap;
  		}
  
  		Set<Entry<K, V>> entrySet;
  		for (Map<K, V> map : mapList) {
  			entrySet = map.entrySet();
  			K key;
  			List<V> valueList;
  			for (Entry<K, V> entry : entrySet) {
  				key = entry.getKey();
  				valueList = resultMap.get(key);
  				if (null == valueList) {
  					valueList = CollectionUtil.newArrayList(entry.getValue());
  					resultMap.put(key, valueList);
  				} else {
  					valueList.add(entry.getValue());
  				}
  			}
  		}
  
  		return resultMap;
  	}
docs: 行转列，合并相同的键，值合并为列表<br>
  将Map列表中相同key的值组成列表做为Map的value<br>
  是{@link #toMapList(Map)}的逆方法<br>
  比如传入数据：
  
  <pre>
  [
  {a: 1, b: 1, c: 1}
  {a: 2, b: 2}
  {a: 3, b: 3}
  {a: 4}
  ]
  </pre>
  
  结果是：
  
  <pre>
  {
  a: [1,2,3,4]
  b: [1,2,3,]
  c: [1]
  }
  </pre>
  
  @param <K> 键类型
  @param <V> 值类型
  @param mapList Map列表
  @return Map