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;
   }
}