ReusableList class
Пакет: com.hypixel.hytale.builtin.hytalegenerator
Файл: com/hypixel/hytale/builtin/hytalegenerator/ReusableList.java
Поля (1)
| Модификаторы | Тип | Имя |
|---|---|---|
|
Object |
var1 |
Методы (7)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
throw new |
IndexOutOfBoundsExceptionthrow new IndexOutOfBoundsException() |
public |
void |
clearvoid clear() |
public |
void |
expandAndSetvoid expandAndSet(T var1) |
public |
int |
getHardSizeint getHardSize() |
public |
int |
getSoftSizeint getSoftSize() |
|
|
if if(var1 >= this.softSize) |
public |
boolean |
isAtHardCapacityboolean isAtHardCapacity() |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.hytalegenerator;
class="kw">import java.util.ArrayList;
class="kw">import java.util.List;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class ReusableList<T> {
@Nonnull
class="kw">private class="kw">final List<T> data = new ArrayList<>(0);
class="kw">private int softSize = 0;
class="kw">public ReusableList() {
}
class="kw">public void expandAndSet(T var1) {
if (this.isAtHardCapacity()) {
this.data.add(var1);
} else {
this.data.set(this.softSize, var1);
}
this.softSize++;
}
@Nullable
class="kw">public T expandAndGet() {
if (this.isAtHardCapacity()) {
this.data.add(null);
class="kw">return null;
} else {
Object var1 = this.data.get(this.softSize);
this.softSize++;
class="kw">return var1;
}
}
class="kw">public int getSoftSize() {
class="kw">return this.softSize;
}
class="kw">public int getHardSize() {
class="kw">return this.data.size();
}
class="kw">public boolean isAtHardCapacity() {
class="kw">return this.softSize == this.data.size();
}
@Nullable
class="kw">public T get(int var1) {
if (var1 >= this.softSize) {
throw new IndexOutOfBoundsException();
} else {
class="kw">return this.data.get(var1);
}
}
class="kw">public void clear() {
this.softSize = 0;
}
}