Skip to content

Commit 5406d67

Browse files
committed
GROOVY-11678: Create DGM#subList(IntRange) method
1 parent a54050a commit 5406d67

1 file changed

Lines changed: 25 additions & 0 deletions

File tree

src/main/java/org/codehaus/groovy/runtime/DefaultGroovyMethods.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14007,6 +14007,31 @@ public static void step(Number self, Number to, Number stepNumber, Closure closu
1400714007
}
1400814008
}
1400914009

14010+
//--------------------------------------------------------------------------
14011+
// subList
14012+
14013+
/**
14014+
* Returns a view of the portion of this list given by the specified range.
14015+
* <pre class="groovyTestCase">
14016+
* def nums = [0, 1, 2, 3, 4]
14017+
* assert nums.subList(1..3) == 1..3
14018+
* assert nums.subList(0<..<-1) == 1..3
14019+
* nums.subList(1..3).clear()
14020+
* assert nums == [0, 4]
14021+
* </pre>
14022+
*
14023+
* @param self a List
14024+
* @param range a range
14025+
* @return a view of the specified range within this list
14026+
* @since 5.0.0
14027+
*/
14028+
public static <T> List<T> subList(List<T> self, IntRange range) {
14029+
Objects.requireNonNull(self);
14030+
RangeInfo info = range.subListBorders(self.size());
14031+
Objects.checkFromToIndex(info.from, info.to, self.size());
14032+
return self.subList(info.from, info.to);
14033+
}
14034+
1401014035
//--------------------------------------------------------------------------
1401114036
// subMap
1401214037

0 commit comments

Comments
 (0)