From 7daf7dbbdd683affc54abac82882e174082de06a Mon Sep 17 00:00:00 2001 From: REAndroid Date: Sat, 25 Feb 2023 08:27:55 -0500 Subject: [PATCH] create sub list from BlockArray --- .../com/reandroid/arsc/base/BlockArray.java | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/main/java/com/reandroid/arsc/base/BlockArray.java b/src/main/java/com/reandroid/arsc/base/BlockArray.java index f7f728e..b00c29e 100755 --- a/src/main/java/com/reandroid/arsc/base/BlockArray.java +++ b/src/main/java/com/reandroid/arsc/base/BlockArray.java @@ -24,6 +24,36 @@ public abstract class BlockArray extends BlockContainer impl elementData= newInstance(0); } + public List subList(int start){ + return subList(start, -1); + } + public List subList(int start, int count){ + T[] items = this.elementData; + if(items==null){ + return new ArrayList<>(); + } + int length = items.length; + if(start>=length){ + return new ArrayList<>(); + } + if(start < 0){ + start=0; + } + int end = count; + if(end < 0){ + end = items.length; + }else { + end = start + count; + if(end > length){ + end=length; + } + } + List results = new ArrayList<>(end - start); + for(int i=start; i listItems(){ return new AbstractCollection() { @Override