public SList <V> toList() { SList <V> re = new SList <V>(_size); if (_size == 0) { return(re); } V[] rValues = re.getValues(); V[] values = _values; //正常的 if (_end > _start) { Array.Copy(values, _start, rValues, 0, _end - _start); } else { int d = values.Length - _start; Array.Copy(values, _start, rValues, 0, d); Array.Copy(values, 0, rValues, d, _end); } re.justSetSize(_size); return(re); }
/** 获取排序好的List */ public SList <K> getSortedList() { SList <K> list = new SList <K>(_size); if (_size == 0) { return(list); } K[] values = list.getValues(); int j = 0; K[] keys = _set; K k; for (int i = keys.Length - 1; i >= 0; --i) { if ((k = keys[i]) != null) { values[j++] = k; } } list.justSetSize(size()); list.sort(); return(list); }
/** 截取list */ public SList <V> subList(int from, int end) { if (from < 0) { from = 0; } if (end >= size()) { end = size(); } int len = end - from; if (len == 0) { return(new SList <V>()); } if (len < 0) { Ctrl.throwError("subList,数据非法", from, end); return(new SList <V>()); } SList <V> re = new SList <V>(len); Array.Copy(_values, from, re._values, 0, len); re.justSetSize(len); return(re); }
/** 初始化容器布局 */ protected virtual void initContainer() { if (ShineSetting.isEditor) { _dataList = new SList <object>(100); _dataList.justSetSize(100); } else { _dataList = new SList <object>(); } resize(); }