在Dartlang中旋转/移动列表?

时间:2015-04-17 13:17:56

标签: dart

Dart中是否有更好/更快的方式来旋转列表?

List<Object> rotate(List<Object> l, int i) {
  i = i % l.length;

  List<Object> x = l.sublist(i);
  x.addAll(l.sublist(0, i));

  return x;
}

1 个答案:

答案 0 :(得分:3)

可以简化一下

List<Object> rotate(List<Object> list, int v) {
  if(list == null || list.isEmpty) return list;
  var i = v % list.length;
  return list.sublist(i)..addAll(list.sublist(0, i));
}