RngUtil class

Пакет: com.hypixel.hytale.builtin.hytalegenerator.rng

Файл: com/hypixel/hytale/builtin/hytalegenerator/rng/RngUtil.java

Поля (7)

МодификаторыТипИмя
var1
var1
int var4
int var4
IntArrayList var4
int var6
int var6

Методы (10)

МодификаторыВозвратСигнатура
for for(int var5 = 0; var5 < var1; var5++)
for for(int var5 = 0; var5 < var1; var5++)
for for(int var6 = 0; var6 < var2; var6++)
for for(int var5 = 0; var5 < var2; var5++)
if if(var1 > 0)
if if(var1 == var2)
static <T> void pickElements<T> void pickElements(@Nonnull Random var0, int var1, @Nonnull List<T> var2, @Nonnull List<T> var3)
static void pickElementsvoid pickElements(@Nonnull Random var0, int var1, @Nonnull IntArrayList var2, @Nonnull IntArrayList var3)
abstract pickElements pickElements(var0, var1, var4, var3)
static void pickIndicesvoid pickIndices(@Nonnull Random var0, int var1, int var2, @Nonnull IntArrayList var3)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.hytalegenerator.rng;

class="kw">import it.unimi.dsi.fastutil.ints.IntArrayList;
class="kw">import java.util.List;
class="kw">import java.util.Random;
class="kw">import javax.annotation.Nonnull;

class="kw">public class RngUtil {
   class="kw">public RngUtil() {
   }

   class="kw">public class="kw">static <T> void pickElements(@Nonnull Random var0, int var1, @Nonnull List<T> var2, @Nonnull List<T> var3) {
      assert var3.isEmpty() && var1 >= 0;
      if (!var2.isEmpty()) {
         var1 = Math.min(var1, var2.size());
         int var4 = var2.size() - 1;

         for (int var5 = 0; var5 < var1; var5++) {
            int var6 = var0.nextInt(var4 + 1);
            var3.add(var2.get(var6));
            var2.set(var6, var2.get(var4));
            var4--;
         }
      }
   }

   class="kw">public class="kw">static void pickElements(@Nonnull Random var0, int var1, @Nonnull IntArrayList var2, @Nonnull IntArrayList var3) {
      assert var3.isEmpty() && var1 >= 0;
      if (!var2.isEmpty()) {
         var1 = Math.min(var1, var2.size());
         int var4 = var2.size() - 1;

         for (int var5 = 0; var5 < var1; var5++) {
            int var6 = var0.nextInt(var4 + 1);
            var3.add(var2.getInt(var6));
            var2.set(var6, var2.getInt(var4));
            var4--;
         }
      }
   }

   class="kw">public class="kw">static void pickIndices(@Nonnull Random var0, int var1, int var2, @Nonnull IntArrayList var3) {
      assert var1 <= var2;
      if (var1 > 0) {
         if (var1 == var2) {
            for (int var6 = 0; var6 < var2; var6++) {
               var3.add(var6);
            }
         } else {
            IntArrayList var4 = new IntArrayList(var2);

            for (int var5 = 0; var5 < var2; var5++) {
               var4.add(var5);
            }

            pickElements(var0, var1, var4, var3);
         }
      }
   }
}