code: public static <T, K> boolean move(List<T> list, K key,
  			Function<T, K> keyMapper, int n) {
  		if (n == 0)
  			return false;
  
  		if (n > 0)
  			return moveDown(list, key, keyMapper, n);
  
  		return moveUp(list, key, keyMapper, -n);
  	}
docs: 将列表中id为key的项向前或向后移动n个位置。n为正表示向后移动，n为负表示向前移动。
  
  @param list
  @param key
  @param keyMapper
  @param n
  @return