mirror of
https://github.com/quinton-ashley/java2js
synced 2024-12-29 10:11:54 +01:00
72 lines
1.1 KiB
JavaScript
72 lines
1.1 KiB
JavaScript
jdk.imports['java.util.AbstractCollection'].load = async () => {
|
|
const Itr = await jdk.import('java.util.Itr');
|
|
|
|
class AbstractCollection {
|
|
constructor(co) {
|
|
this.arr = co || [];
|
|
}
|
|
|
|
add(idx, elem) {
|
|
if (typeof elem == 'undefined') {
|
|
return this.arr.push(idx);
|
|
} else {
|
|
return this.arr.splice(idx, 0, elem);
|
|
}
|
|
}
|
|
|
|
addAll(idx, vals) {
|
|
this.arr.splice(idx, 0, ...vals);
|
|
}
|
|
|
|
clear() {
|
|
this.arr = [];
|
|
}
|
|
|
|
contains(val) {
|
|
return this.arr.indexOf(val) != -1;
|
|
}
|
|
|
|
// containsAll(elems) {}
|
|
|
|
isEmpty() {
|
|
return this.arr.length == 0;
|
|
}
|
|
|
|
iterator() {
|
|
return new Itr(this);
|
|
}
|
|
|
|
// parallelStream() {}
|
|
|
|
remove(idxOrElem) {
|
|
let index = idxOrElem;
|
|
if (typeof idxOrElem != 'number') {
|
|
index = this.arr.indexOf(idxOrElem);
|
|
}
|
|
return this.arr.splice(index, 1);
|
|
}
|
|
|
|
removeAll() {
|
|
this.arr = [];
|
|
return true;
|
|
}
|
|
|
|
// removeIf() {}
|
|
|
|
// retainAll(collection) {}
|
|
|
|
size() {
|
|
return this.arr.length;
|
|
}
|
|
|
|
toArray() {
|
|
return this.arr;
|
|
}
|
|
|
|
toString() {
|
|
return '[' + this.arr.join(', ') + ']';
|
|
}
|
|
}
|
|
jdk.java.util.AbstractCollection = AbstractCollection;
|
|
};
|