Skip to content

Commit 5025bbb

Browse files
committed
Add addAllElements
1 parent 5bff9f0 commit 5025bbb

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

app/src/main/java/com/blank/project/utils/DiskStoredArrayList.java

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.blank.project.utils;
22

3+
import androidx.annotation.NonNull;
4+
35
import com.blank.project.Constants;
46
import com.blank.project.models.MapEntry;
57

@@ -60,6 +62,27 @@ public boolean add(T t) {
6062
}
6163
}
6264

65+
public boolean addAllElements(@NonNull ArrayList<? extends T> c) {
66+
synchronized (this) {
67+
for (int i = 0; i < c.size(); i++) {
68+
final T element = c.get(i);
69+
try {
70+
final long length = cacheFile.length();
71+
final byte[] bytes = ObjectHelper.convertToBytes((Serializable) element);
72+
cacheFile.seek(length);
73+
cacheFile.write(bytes);
74+
entryCaches.add(new EntryCache(mapEntries.size(), element));
75+
if (entryCaches.size() > bufferSize) entryCaches.remove(0);
76+
mapEntries.add(new MapEntry(length, bytes.length));
77+
} catch (Exception ex) {
78+
ex.printStackTrace();
79+
return false;
80+
}
81+
}
82+
}
83+
return true;
84+
}
85+
6386
@Override
6487
public T get(int index) {
6588
final T object = entryCaches.search(index);

0 commit comments

Comments
 (0)