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