ListUtil class

Пакет: com.hypixel.hytale.common.util

Файл: com/hypixel/hytale/common/util/ListUtil.java

Поля (15)

МодификаторыТипИмя
List var2
Object var2
int var3
int var4
int var4
int var4
var4
int var5
int var5
int var5
var5
int var6
int var6
Object var7
int var8

Методы (15)

МодификаторыВозвратСигнатура
static <T, V> int binarySearch<T, V> int binarySearch(@Nonnull List<? extends T> var0, @Nonnull Function<T, V> var1, V var2, @Nonnull Comparator<? super V> var3)
static <T> boolean emptyOrAllNull<T> boolean emptyOrAllNull(@Nonnull List<T> var0)
abstract for for(int var1 = 0; var1 < var0.size()
if if(var4 < var5)
if if(var5 < var6)
if if(var2 != null)
if if(var8 < 0)
if if(var8 <= 0)
static <T> void removeIf<T> void removeIf(@Nonnull List<T> var0, @Nonnull Predicate<T> var1)
static <T, U> void removeIf<T, U> void removeIf(@Nonnull List<T> var0, @Nonnull BiPredicate<T, U> var1, U var2)
static <T, U, V> void unstableRemoveIf<T, U, V> void unstableRemoveIf(@Nonnull List<T> var0, @Nullable U var1, @Nullable V var2, @Nonnull TriPredicate<T, U, V> var3)
static <T, U, V, W> void unstableRemoveIf<T, U, V, W> void unstableRemoveIf(@Nonnull List<T> var0, @Nullable U var1, @Nullable V var2, @Nullable W var3, @Nonnull QuadPredicate<T, U, V, W> var4)
while while(var4 <= var5)
while while(var5 <= var6)
while while(var4 <= var5)

Исходный код

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

class="kw">import com.hypixel.hytale.function.predicate.QuadPredicate;
class="kw">import com.hypixel.hytale.function.predicate.TriPredicate;
class="kw">import it.unimi.dsi.fastutil.objects.ObjectArrayList;
class="kw">import java.util.Comparator;
class="kw">import java.util.List;
class="kw">import java.util.function.BiPredicate;
class="kw">import java.util.function.Function;
class="kw">import java.util.function.Predicate;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

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

   @Nonnull
   class="kw">public class="kw">static <T> List<List<T>> partition(@Nonnull List<T> var0, int var1) {
      List var2 = new ObjectArrayList();
      int var3 = 0;

      while (var3 < var0.size()) {
         int var4 = Math.min(var0.size(), var3 + var1);
         var2.add(var0.subList(var3, var4));
         var3 += var1;
      }

      class="kw">return var2;
   }

   class="kw">public class="kw">static <T> void removeIf(@Nonnull List<T> var0, @Nonnull Predicate<T> var1) {
      for (int var2 = var0.size() - 1; var2 >= 0; var2--) {
         if (var1.test(var0.get(var2))) {
            var0.remove(var2);
         }
      }
   }

   class="kw">public class="kw">static <T, U> void removeIf(@Nonnull List<T> var0, @Nonnull BiPredicate<T, U> var1, U var2) {
      for (int var3 = var0.size() - 1; var3 >= 0; var3--) {
         if (var1.test(var0.get(var3), var2)) {
            var0.remove(var3);
         }
      }
   }

   class="kw">public class="kw">static <T, U, V> void unstableRemoveIf(@Nonnull List<T> var0, @Nullable U var1, @Nullable V var2, @Nonnull TriPredicate<T, U, V> var3) {
      int var4 = 0;
      int var5 = var0.size() - 1;

      while (var4 <= var5) {
         if (var3.test(var0.get(var4), var1, var2)) {
            if (var4 < var5) {
               var0.set(var4, var0.get(var5));
            }

            var0.remove(var5);
            var5--;
         } else {
            var4++;
         }
      }
   }

   class="kw">public class="kw">static <T, U, V, W> void unstableRemoveIf(
      @Nonnull List<T> var0, @Nullable U var1, @Nullable V var2, @Nullable W var3, @Nonnull QuadPredicate<T, U, V, W> var4
   ) {
      int var5 = 0;
      int var6 = var0.size() - 1;

      while (var5 <= var6) {
         if (var4.test(var0.get(var5), var1, var2, var3)) {
            if (var5 < var6) {
               var0.set(var5, var0.get(var6));
            }

            var0.remove(var6);
            var6--;
         } else {
            var5++;
         }
      }
   }

   class="kw">public class="kw">static <T> boolean emptyOrAllNull(@Nonnull List<T> var0) {
      for (int var1 = 0; var1 < var0.size(); var1++) {
         Object var2 = var0.get(var1);
         if (var2 != null) {
            class="kw">return false;
         }
      }

      class="kw">return true;
   }

   class="kw">public class="kw">static <T, V> int binarySearch(@Nonnull List<? class="kw">extends T> var0, @Nonnull Function<T, V> var1, V var2, @Nonnull Comparator<? super V> var3) {
      int var4 = 0;
      int var5 = var0.size() - 1;

      while (var4 <= var5) {
         int var6 = var4 + var5 >>> 1;
         Object var7 = (T)var0.get(var6);
         int var8 = var3.compare(var1.apply(var7), var2);
         if (var8 < 0) {
            var4 = var6 + 1;
         } else {
            if (var8 <= 0) {
               class="kw">return var6;
            }

            var5 = var6 - 1;
         }
      }

      class="kw">return -(var4 + 1);
   }
}