BucketItemPool class
Пакет: com.hypixel.hytale.common.collection
Файл: com/hypixel/hytale/common/collection/BucketItemPool.java
Поля (2)
| Модификаторы | Тип | Имя |
|---|---|---|
|
int |
var3 |
|
BucketItem |
var4 |
Методы (4)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
public |
BucketItem<E> |
allocateBucketItem<E> allocate(E var1, double var2) |
public |
void |
deallocatevoid deallocate(BucketItem<E>[] var1, int var2) |
|
|
if if(var3 > this.pool.length) |
|
|
if if(this.size == 0) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.common.collection;
class="kw">import java.util.Arrays;
class="kw">import javax.annotation.Nonnull;
class="kw">public class BucketItemPool<E> {
@Nonnull
class="kw">protected BucketItem<E>[] pool = new BucketItem[16];
class="kw">protected int size;
class="kw">public BucketItemPool() {
}
class="kw">public void deallocate(BucketItem<E>[] var1, int var2) {
int var3 = this.size + var2;
if (var3 > this.pool.length) {
this.pool = Arrays.copyOf(this.pool, Math.max(var3, this.pool.length << 1));
}
System.arraycopy(var1, 0, this.pool, this.size, var2);
this.size += var2;
}
class="kw">public BucketItem<E> allocate(E var1, double var2) {
if (this.size == 0) {
class="kw">return new BucketItem<E>().set(var1, var2);
}
BucketItem var4 = this.pool[--this.size];
this.pool[this.size] = null;
class="kw">return var4.set(var1, var2);
}
}