类 SuffixArray<T>
- java.lang.Object
-
- net.minecraft.client.search.SuffixArray<T>
-
@Environment(CLIENT) public class SuffixArray<T> extends Object
Provides an efficient way to search for a text in multiple texts.- Mappings:
Namespace Name official ezeintermediary net/minecraft/class_1128named net/minecraft/client/search/SuffixArray
-
-
字段概要
字段 修饰符和类型 字段 说明 private IntListcharactersprivate static intfield_33013private static intfield_33014private static LoggerLOGGERprivate intmaxTextLengthprotected List<T>objectsprivate IntListoffsetInTextprivate static booleanPRINT_ARRAYprivate static booleanPRINT_COMPARISONSprivate IntListsuffixIndexToObjectIndexprivate IntListtextStarts
-
构造器概要
构造器 构造器 说明 SuffixArray()
-
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 voidadd(T object, String text)Adds a text with the corresponding object.voidbuild()Builds a suffix array with added texts.private intcompare(String string, int suffixIndex)List<T>findAll(String text)Retrieves all objects of which corresponding texts containtext.private StringgetDebugString(int suffixIndex)private voidprintArray()
-
-
-
字段详细资料
-
PRINT_COMPARISONS
private static final boolean PRINT_COMPARISONS
- Mappings:
Namespace Name Mixin selector official bLeze;b:Zintermediary field_5508Lnet/minecraft/class_1128;field_5508:Znamed PRINT_COMPARISONSLnet/minecraft/client/search/SuffixArray;PRINT_COMPARISONS:Z
-
PRINT_ARRAY
private static final boolean PRINT_ARRAY
- Mappings:
Namespace Name Mixin selector official cLeze;c:Zintermediary field_5507Lnet/minecraft/class_1128;field_5507:Znamed PRINT_ARRAYLnet/minecraft/client/search/SuffixArray;PRINT_ARRAY:Z
-
LOGGER
private static final Logger LOGGER
- Mappings:
Namespace Name Mixin selector official dLeze;d:Lorg/apache/logging/log4j/Logger;intermediary field_5510Lnet/minecraft/class_1128;field_5510:Lorg/apache/logging/log4j/Logger;named LOGGERLnet/minecraft/client/search/SuffixArray;LOGGER:Lorg/apache/logging/log4j/Logger;
-
field_33013
private static final int field_33013
- 另请参阅:
- 常量字段值
- Mappings:
Namespace Name Mixin selector official eLeze;e:Iintermediary field_33013Lnet/minecraft/class_1128;field_33013:Inamed field_33013Lnet/minecraft/client/search/SuffixArray;field_33013:I
-
field_33014
private static final int field_33014
- 另请参阅:
- 常量字段值
- Mappings:
Namespace Name Mixin selector official fLeze;f:Iintermediary field_33014Lnet/minecraft/class_1128;field_33014:Inamed field_33014Lnet/minecraft/client/search/SuffixArray;field_33014:I
-
objects
protected final List<T> objects
- Mappings:
Namespace Name Mixin selector official aLeze;a:Ljava/util/List;intermediary field_5503Lnet/minecraft/class_1128;field_5503:Ljava/util/List;named objectsLnet/minecraft/client/search/SuffixArray;objects:Ljava/util/List;
-
characters
private final IntList characters
- Mappings:
Namespace Name Mixin selector official gLeze;g:Lit/unimi/dsi/fastutil/ints/IntList;intermediary field_5505Lnet/minecraft/class_1128;field_5505:Lit/unimi/dsi/fastutil/ints/IntList;named charactersLnet/minecraft/client/search/SuffixArray;characters:Lit/unimi/dsi/fastutil/ints/IntList;
-
textStarts
private final IntList textStarts
- Mappings:
Namespace Name Mixin selector official hLeze;h:Lit/unimi/dsi/fastutil/ints/IntList;intermediary field_5509Lnet/minecraft/class_1128;field_5509:Lit/unimi/dsi/fastutil/ints/IntList;named textStartsLnet/minecraft/client/search/SuffixArray;textStarts:Lit/unimi/dsi/fastutil/ints/IntList;
-
suffixIndexToObjectIndex
private IntList suffixIndexToObjectIndex
- Mappings:
Namespace Name Mixin selector official iLeze;i:Lit/unimi/dsi/fastutil/ints/IntList;intermediary field_5504Lnet/minecraft/class_1128;field_5504:Lit/unimi/dsi/fastutil/ints/IntList;named suffixIndexToObjectIndexLnet/minecraft/client/search/SuffixArray;suffixIndexToObjectIndex:Lit/unimi/dsi/fastutil/ints/IntList;
-
offsetInText
private IntList offsetInText
- Mappings:
Namespace Name Mixin selector official jLeze;j:Lit/unimi/dsi/fastutil/ints/IntList;intermediary field_5506Lnet/minecraft/class_1128;field_5506:Lit/unimi/dsi/fastutil/ints/IntList;named offsetInTextLnet/minecraft/client/search/SuffixArray;offsetInText:Lit/unimi/dsi/fastutil/ints/IntList;
-
maxTextLength
private int maxTextLength
- Mappings:
Namespace Name Mixin selector official kLeze;k:Iintermediary field_5502Lnet/minecraft/class_1128;field_5502:Inamed maxTextLengthLnet/minecraft/client/search/SuffixArray;maxTextLength:I
-
-
方法详细资料
-
add
public void add(T object, String text)
Adds a text with the corresponding object.You are not allowed to call this method after calling
build()method.Takes O(
text.length()) time.- Mappings:
Namespace Name Mixin selector official aLeze;a(Ljava/lang/Object;Ljava/lang/String;)Vintermediary method_4806Lnet/minecraft/class_1128;method_4806(Ljava/lang/Object;Ljava/lang/String;)Vnamed addLnet/minecraft/client/search/SuffixArray;add(Ljava/lang/Object;Ljava/lang/String;)V
-
build
public void build()
Builds a suffix array with added texts.You are not allowed to call this method multiple times.
Takes O(N * log N * log M) time on average where N is the sum of all text length added, and M is the maximum text length added.
- Mappings:
Namespace Name Mixin selector official aLeze;a()Vintermediary method_4807Lnet/minecraft/class_1128;method_4807()Vnamed buildLnet/minecraft/client/search/SuffixArray;build()V
-
printArray
private void printArray()
- Mappings:
Namespace Name Mixin selector official bLeze;b()Vintermediary method_4809Lnet/minecraft/class_1128;method_4809()Vnamed printArrayLnet/minecraft/client/search/SuffixArray;printArray()V
-
getDebugString
private String getDebugString(int suffixIndex)
- Mappings:
Namespace Name Mixin selector official aLeze;a(I)Ljava/lang/String;intermediary method_4808Lnet/minecraft/class_1128;method_4808(I)Ljava/lang/String;named getDebugStringLnet/minecraft/client/search/SuffixArray;getDebugString(I)Ljava/lang/String;
-
compare
private int compare(String string, int suffixIndex)
- Mappings:
Namespace Name Mixin selector official aLeze;a(Ljava/lang/String;I)Iintermediary method_4805Lnet/minecraft/class_1128;method_4805(Ljava/lang/String;I)Inamed compareLnet/minecraft/client/search/SuffixArray;compare(Ljava/lang/String;I)I
-
findAll
public List<T> findAll(String text)
Retrieves all objects of which corresponding texts containtext.You have to call
build()method before calling this method.Takes O(
text.length()* log N) time to find objects where N is the sum of all text length added. Takes O(X + Y * log Y) time to collect found objects into a list where X is the number of occurrences oftextin all texts added, and Y is the number of found objects.- Mappings:
Namespace Name Mixin selector official aLeze;a(Ljava/lang/String;)Ljava/util/List;intermediary method_4804Lnet/minecraft/class_1128;method_4804(Ljava/lang/String;)Ljava/util/List;named findAllLnet/minecraft/client/search/SuffixArray;findAll(Ljava/lang/String;)Ljava/util/List;
-
-