java.lang.Integer.numberOfTrailingZeros()方法的使用及代码示例

x33g5p2x  于2022-01-16 转载在 其他  
字(19.3k)|赞(0)|评价(0)|浏览(158)

本文整理了Java中java.lang.Integer.numberOfTrailingZeros()方法的一些代码示例,展示了Integer.numberOfTrailingZeros()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Integer.numberOfTrailingZeros()方法的具体详情如下:
包路径:java.lang.Integer
类名称:Integer
方法名:numberOfTrailingZeros

Integer.numberOfTrailingZeros介绍

[英]Determines the number of trailing zeros in the specified integer after the #lowestOneBit(int).
[中]确定指定整数中#lowstonebit(int)之后的尾随零数。

代码示例

代码示例来源:origin: org.apache.commons/commons-lang3

  1. /**
  2. * <p>Creates a BitField instance.</p>
  3. *
  4. * @param mask the mask specifying which bits apply to this
  5. * BitField. Bits that are set in this mask are the bits
  6. * that this BitField operates on
  7. */
  8. public BitField(final int mask) {
  9. _mask = mask;
  10. _shift_count = mask == 0 ? 0 : Integer.numberOfTrailingZeros(mask);
  11. }

代码示例来源:origin: google/guava

  1. @Override
  2. public E next() {
  3. int index = Integer.numberOfTrailingZeros(remainingSetBits);
  4. if (index == 32) {
  5. throw new NoSuchElementException();
  6. }
  7. remainingSetBits &= ~(1 << index);
  8. return elements.get(index);
  9. }
  10. };

代码示例来源:origin: prestodb/presto

  1. @Override
  2. public E next() {
  3. int index = Integer.numberOfTrailingZeros(remainingSetBits);
  4. if (index == 32) {
  5. throw new NoSuchElementException();
  6. }
  7. remainingSetBits &= ~(1 << index);
  8. return elements.get(index);
  9. }
  10. };

代码示例来源:origin: libgdx/libgdx

  1. /** Creates a new set with the specified initial capacity and load factor. This set will hold initialCapacity items before
  2. * growing the backing table.
  3. * @param initialCapacity If not a power of two, it is increased to the next nearest power of two. */
  4. public IntSet (int initialCapacity, float loadFactor) {
  5. if (initialCapacity < 0) throw new IllegalArgumentException("initialCapacity must be >= 0: " + initialCapacity);
  6. initialCapacity = MathUtils.nextPowerOfTwo((int)Math.ceil(initialCapacity / loadFactor));
  7. if (initialCapacity > 1 << 30) throw new IllegalArgumentException("initialCapacity is too large: " + initialCapacity);
  8. capacity = initialCapacity;
  9. if (loadFactor <= 0) throw new IllegalArgumentException("loadFactor must be > 0: " + loadFactor);
  10. this.loadFactor = loadFactor;
  11. threshold = (int)(capacity * loadFactor);
  12. mask = capacity - 1;
  13. hashShift = 31 - Integer.numberOfTrailingZeros(capacity);
  14. stashCapacity = Math.max(3, (int)Math.ceil(Math.log(capacity)) * 2);
  15. pushIterations = Math.max(Math.min(capacity, 8), (int)Math.sqrt(capacity) / 8);
  16. keyTable = new int[capacity + stashCapacity];
  17. }

代码示例来源:origin: libgdx/libgdx

  1. /** Creates a new set with the specified initial capacity and load factor. This set will hold initialCapacity items before
  2. * growing the backing table.
  3. * @param initialCapacity If not a power of two, it is increased to the next nearest power of two. */
  4. public ObjectSet (int initialCapacity, float loadFactor) {
  5. if (initialCapacity < 0) throw new IllegalArgumentException("initialCapacity must be >= 0: " + initialCapacity);
  6. initialCapacity = MathUtils.nextPowerOfTwo((int)Math.ceil(initialCapacity / loadFactor));
  7. if (initialCapacity > 1 << 30) throw new IllegalArgumentException("initialCapacity is too large: " + initialCapacity);
  8. capacity = initialCapacity;
  9. if (loadFactor <= 0) throw new IllegalArgumentException("loadFactor must be > 0: " + loadFactor);
  10. this.loadFactor = loadFactor;
  11. threshold = (int)(capacity * loadFactor);
  12. mask = capacity - 1;
  13. hashShift = 31 - Integer.numberOfTrailingZeros(capacity);
  14. stashCapacity = Math.max(3, (int)Math.ceil(Math.log(capacity)) * 2);
  15. pushIterations = Math.max(Math.min(capacity, 8), (int)Math.sqrt(capacity) / 8);
  16. keyTable = (T[])new Object[capacity + stashCapacity];
  17. }

代码示例来源:origin: libgdx/libgdx

  1. /** Creates a new set with the specified initial capacity and load factor. This set will hold initialCapacity items before
  2. * growing the backing table.
  3. * @param initialCapacity If not a power of two, it is increased to the next nearest power of two. */
  4. public IntSet (int initialCapacity, float loadFactor) {
  5. if (initialCapacity < 0) throw new IllegalArgumentException("initialCapacity must be >= 0: " + initialCapacity);
  6. initialCapacity = MathUtils.nextPowerOfTwo((int)Math.ceil(initialCapacity / loadFactor));
  7. if (initialCapacity > 1 << 30) throw new IllegalArgumentException("initialCapacity is too large: " + initialCapacity);
  8. capacity = initialCapacity;
  9. if (loadFactor <= 0) throw new IllegalArgumentException("loadFactor must be > 0: " + loadFactor);
  10. this.loadFactor = loadFactor;
  11. threshold = (int)(capacity * loadFactor);
  12. mask = capacity - 1;
  13. hashShift = 31 - Integer.numberOfTrailingZeros(capacity);
  14. stashCapacity = Math.max(3, (int)Math.ceil(Math.log(capacity)) * 2);
  15. pushIterations = Math.max(Math.min(capacity, 8), (int)Math.sqrt(capacity) / 8);
  16. keyTable = new int[capacity + stashCapacity];
  17. }

代码示例来源:origin: libgdx/libgdx

  1. /** Creates a new set with the specified initial capacity and load factor. This set will hold initialCapacity items before
  2. * growing the backing table.
  3. * @param initialCapacity If not a power of two, it is increased to the next nearest power of two. */
  4. public ObjectSet (int initialCapacity, float loadFactor) {
  5. if (initialCapacity < 0) throw new IllegalArgumentException("initialCapacity must be >= 0: " + initialCapacity);
  6. initialCapacity = MathUtils.nextPowerOfTwo((int)Math.ceil(initialCapacity / loadFactor));
  7. if (initialCapacity > 1 << 30) throw new IllegalArgumentException("initialCapacity is too large: " + initialCapacity);
  8. capacity = initialCapacity;
  9. if (loadFactor <= 0) throw new IllegalArgumentException("loadFactor must be > 0: " + loadFactor);
  10. this.loadFactor = loadFactor;
  11. threshold = (int)(capacity * loadFactor);
  12. mask = capacity - 1;
  13. hashShift = 31 - Integer.numberOfTrailingZeros(capacity);
  14. stashCapacity = Math.max(3, (int)Math.ceil(Math.log(capacity)) * 2);
  15. pushIterations = Math.max(Math.min(capacity, 8), (int)Math.sqrt(capacity) / 8);
  16. keyTable = (T[])new Object[capacity + stashCapacity];
  17. }

代码示例来源:origin: libgdx/libgdx

  1. /** Creates a new map with the specified initial capacity and load factor. This map will hold initialCapacity items before
  2. * growing the backing table.
  3. * @param initialCapacity If not a power of two, it is increased to the next nearest power of two. */
  4. public IntFloatMap (int initialCapacity, float loadFactor) {
  5. if (initialCapacity < 0) throw new IllegalArgumentException("initialCapacity must be >= 0: " + initialCapacity);
  6. initialCapacity = MathUtils.nextPowerOfTwo((int)Math.ceil(initialCapacity / loadFactor));
  7. if (initialCapacity > 1 << 30) throw new IllegalArgumentException("initialCapacity is too large: " + initialCapacity);
  8. capacity = initialCapacity;
  9. if (loadFactor <= 0) throw new IllegalArgumentException("loadFactor must be > 0: " + loadFactor);
  10. this.loadFactor = loadFactor;
  11. threshold = (int)(capacity * loadFactor);
  12. mask = capacity - 1;
  13. hashShift = 31 - Integer.numberOfTrailingZeros(capacity);
  14. stashCapacity = Math.max(3, (int)Math.ceil(Math.log(capacity)) * 2);
  15. pushIterations = Math.max(Math.min(capacity, 8), (int)Math.sqrt(capacity) / 8);
  16. keyTable = new int[capacity + stashCapacity];
  17. valueTable = new float[keyTable.length];
  18. }

代码示例来源:origin: libgdx/libgdx

  1. /** Creates a new map with the specified initial capacity and load factor. This map will hold initialCapacity items before
  2. * growing the backing table.
  3. * @param initialCapacity If not a power of two, it is increased to the next nearest power of two. */
  4. public ObjectIntMap (int initialCapacity, float loadFactor) {
  5. if (initialCapacity < 0) throw new IllegalArgumentException("initialCapacity must be >= 0: " + initialCapacity);
  6. initialCapacity = MathUtils.nextPowerOfTwo((int)Math.ceil(initialCapacity / loadFactor));
  7. if (initialCapacity > 1 << 30) throw new IllegalArgumentException("initialCapacity is too large: " + initialCapacity);
  8. capacity = initialCapacity;
  9. if (loadFactor <= 0) throw new IllegalArgumentException("loadFactor must be > 0: " + loadFactor);
  10. this.loadFactor = loadFactor;
  11. threshold = (int)(capacity * loadFactor);
  12. mask = capacity - 1;
  13. hashShift = 31 - Integer.numberOfTrailingZeros(capacity);
  14. stashCapacity = Math.max(3, (int)Math.ceil(Math.log(capacity)) * 2);
  15. pushIterations = Math.max(Math.min(capacity, 8), (int)Math.sqrt(capacity) / 8);
  16. keyTable = (K[])new Object[capacity + stashCapacity];
  17. valueTable = new int[keyTable.length];
  18. }

代码示例来源:origin: libgdx/libgdx

  1. /** Creates a new map with the specified initial capacity and load factor. This map will hold initialCapacity items before
  2. * growing the backing table.
  3. * @param initialCapacity If not a power of two, it is increased to the next nearest power of two. */
  4. public ObjectMap (int initialCapacity, float loadFactor) {
  5. if (initialCapacity < 0) throw new IllegalArgumentException("initialCapacity must be >= 0: " + initialCapacity);
  6. initialCapacity = MathUtils.nextPowerOfTwo((int)Math.ceil(initialCapacity / loadFactor));
  7. if (initialCapacity > 1 << 30) throw new IllegalArgumentException("initialCapacity is too large: " + initialCapacity);
  8. capacity = initialCapacity;
  9. if (loadFactor <= 0) throw new IllegalArgumentException("loadFactor must be > 0: " + loadFactor);
  10. this.loadFactor = loadFactor;
  11. threshold = (int)(capacity * loadFactor);
  12. mask = capacity - 1;
  13. hashShift = 31 - Integer.numberOfTrailingZeros(capacity);
  14. stashCapacity = Math.max(3, (int)Math.ceil(Math.log(capacity)) * 2);
  15. pushIterations = Math.max(Math.min(capacity, 8), (int)Math.sqrt(capacity) / 8);
  16. keyTable = (K[])new Object[capacity + stashCapacity];
  17. valueTable = (V[])new Object[keyTable.length];
  18. }

代码示例来源:origin: libgdx/libgdx

  1. /** Creates a new map with the specified initial capacity and load factor. This map will hold initialCapacity items before
  2. * growing the backing table.
  3. * @param initialCapacity If not a power of two, it is increased to the next nearest power of two. */
  4. public IdentityMap (int initialCapacity, float loadFactor) {
  5. if (initialCapacity < 0) throw new IllegalArgumentException("initialCapacity must be >= 0: " + initialCapacity);
  6. initialCapacity = MathUtils.nextPowerOfTwo((int)Math.ceil(initialCapacity / loadFactor));
  7. if (initialCapacity > 1 << 30) throw new IllegalArgumentException("initialCapacity is too large: " + initialCapacity);
  8. capacity = initialCapacity;
  9. if (loadFactor <= 0) throw new IllegalArgumentException("loadFactor must be > 0: " + loadFactor);
  10. this.loadFactor = loadFactor;
  11. threshold = (int)(capacity * loadFactor);
  12. mask = capacity - 1;
  13. hashShift = 31 - Integer.numberOfTrailingZeros(capacity);
  14. stashCapacity = Math.max(3, (int)Math.ceil(Math.log(capacity)) * 2);
  15. pushIterations = Math.max(Math.min(capacity, 8), (int)Math.sqrt(capacity) / 8);
  16. keyTable = (K[])new Object[capacity + stashCapacity];
  17. valueTable = (V[])new Object[keyTable.length];
  18. }

代码示例来源:origin: libgdx/libgdx

  1. /** Creates a new map with the specified initial capacity and load factor. This map will hold initialCapacity items before
  2. * growing the backing table.
  3. * @param initialCapacity If not a power of two, it is increased to the next nearest power of two. */
  4. public ObjectFloatMap (int initialCapacity, float loadFactor) {
  5. if (initialCapacity < 0) throw new IllegalArgumentException("initialCapacity must be >= 0: " + initialCapacity);
  6. initialCapacity = MathUtils.nextPowerOfTwo((int)Math.ceil(initialCapacity / loadFactor));
  7. if (initialCapacity > 1 << 30) throw new IllegalArgumentException("initialCapacity is too large: " + initialCapacity);
  8. capacity = initialCapacity;
  9. if (loadFactor <= 0) throw new IllegalArgumentException("loadFactor must be > 0: " + loadFactor);
  10. this.loadFactor = loadFactor;
  11. threshold = (int)(capacity * loadFactor);
  12. mask = capacity - 1;
  13. hashShift = 31 - Integer.numberOfTrailingZeros(capacity);
  14. stashCapacity = Math.max(3, (int)Math.ceil(Math.log(capacity)) * 2);
  15. pushIterations = Math.max(Math.min(capacity, 8), (int)Math.sqrt(capacity) / 8);
  16. keyTable = (K[])new Object[capacity + stashCapacity];
  17. valueTable = new float[keyTable.length];
  18. }

代码示例来源:origin: libgdx/libgdx

  1. /** Creates a new map with the specified initial capacity and load factor. This map will hold initialCapacity items before
  2. * growing the backing table.
  3. * @param initialCapacity If not a power of two, it is increased to the next nearest power of two. */
  4. public IntFloatMap (int initialCapacity, float loadFactor) {
  5. if (initialCapacity < 0) throw new IllegalArgumentException("initialCapacity must be >= 0: " + initialCapacity);
  6. initialCapacity = MathUtils.nextPowerOfTwo((int)Math.ceil(initialCapacity / loadFactor));
  7. if (initialCapacity > 1 << 30) throw new IllegalArgumentException("initialCapacity is too large: " + initialCapacity);
  8. capacity = initialCapacity;
  9. if (loadFactor <= 0) throw new IllegalArgumentException("loadFactor must be > 0: " + loadFactor);
  10. this.loadFactor = loadFactor;
  11. threshold = (int)(capacity * loadFactor);
  12. mask = capacity - 1;
  13. hashShift = 31 - Integer.numberOfTrailingZeros(capacity);
  14. stashCapacity = Math.max(3, (int)Math.ceil(Math.log(capacity)) * 2);
  15. pushIterations = Math.max(Math.min(capacity, 8), (int)Math.sqrt(capacity) / 8);
  16. keyTable = new int[capacity + stashCapacity];
  17. valueTable = new float[keyTable.length];
  18. }

代码示例来源:origin: libgdx/libgdx

  1. /** Creates a new map with the specified initial capacity and load factor. This map will hold initialCapacity items before
  2. * growing the backing table.
  3. * @param initialCapacity If not a power of two, it is increased to the next nearest power of two. */
  4. public IntIntMap (int initialCapacity, float loadFactor) {
  5. if (initialCapacity < 0) throw new IllegalArgumentException("initialCapacity must be >= 0: " + initialCapacity);
  6. initialCapacity = MathUtils.nextPowerOfTwo((int)Math.ceil(initialCapacity / loadFactor));
  7. if (initialCapacity > 1 << 30) throw new IllegalArgumentException("initialCapacity is too large: " + initialCapacity);
  8. capacity = initialCapacity;
  9. if (loadFactor <= 0) throw new IllegalArgumentException("loadFactor must be > 0: " + loadFactor);
  10. this.loadFactor = loadFactor;
  11. threshold = (int)(capacity * loadFactor);
  12. mask = capacity - 1;
  13. hashShift = 31 - Integer.numberOfTrailingZeros(capacity);
  14. stashCapacity = Math.max(3, (int)Math.ceil(Math.log(capacity)) * 2);
  15. pushIterations = Math.max(Math.min(capacity, 8), (int)Math.sqrt(capacity) / 8);
  16. keyTable = new int[capacity + stashCapacity];
  17. valueTable = new int[keyTable.length];
  18. }

代码示例来源:origin: libgdx/libgdx

  1. /** Creates a new map with the specified initial capacity and load factor. This map will hold initialCapacity items before
  2. * growing the backing table.
  3. * @param initialCapacity If not a power of two, it is increased to the next nearest power of two. */
  4. public IntMap (int initialCapacity, float loadFactor) {
  5. if (initialCapacity < 0) throw new IllegalArgumentException("initialCapacity must be >= 0: " + initialCapacity);
  6. initialCapacity = MathUtils.nextPowerOfTwo((int)Math.ceil(initialCapacity / loadFactor));
  7. if (initialCapacity > 1 << 30) throw new IllegalArgumentException("initialCapacity is too large: " + initialCapacity);
  8. capacity = initialCapacity;
  9. if (loadFactor <= 0) throw new IllegalArgumentException("loadFactor must be > 0: " + loadFactor);
  10. this.loadFactor = loadFactor;
  11. threshold = (int)(capacity * loadFactor);
  12. mask = capacity - 1;
  13. hashShift = 31 - Integer.numberOfTrailingZeros(capacity);
  14. stashCapacity = Math.max(3, (int)Math.ceil(Math.log(capacity)) * 2);
  15. pushIterations = Math.max(Math.min(capacity, 8), (int)Math.sqrt(capacity) / 8);
  16. keyTable = new int[capacity + stashCapacity];
  17. valueTable = (V[])new Object[keyTable.length];
  18. }

代码示例来源:origin: libgdx/libgdx

  1. /** Creates a new map with the specified initial capacity and load factor. This map will hold initialCapacity items before
  2. * growing the backing table.
  3. * @param initialCapacity If not a power of two, it is increased to the next nearest power of two. */
  4. public IdentityMap (int initialCapacity, float loadFactor) {
  5. if (initialCapacity < 0) throw new IllegalArgumentException("initialCapacity must be >= 0: " + initialCapacity);
  6. initialCapacity = MathUtils.nextPowerOfTwo((int)Math.ceil(initialCapacity / loadFactor));
  7. if (initialCapacity > 1 << 30) throw new IllegalArgumentException("initialCapacity is too large: " + initialCapacity);
  8. capacity = initialCapacity;
  9. if (loadFactor <= 0) throw new IllegalArgumentException("loadFactor must be > 0: " + loadFactor);
  10. this.loadFactor = loadFactor;
  11. threshold = (int)(capacity * loadFactor);
  12. mask = capacity - 1;
  13. hashShift = 31 - Integer.numberOfTrailingZeros(capacity);
  14. stashCapacity = Math.max(3, (int)Math.ceil(Math.log(capacity)) * 2);
  15. pushIterations = Math.max(Math.min(capacity, 8), (int)Math.sqrt(capacity) / 8);
  16. keyTable = (K[])new Object[capacity + stashCapacity];
  17. valueTable = (V[])new Object[keyTable.length];
  18. }

代码示例来源:origin: libgdx/libgdx

  1. /** Creates a new map with the specified initial capacity and load factor. This map will hold initialCapacity items before
  2. * growing the backing table.
  3. * @param initialCapacity If not a power of two, it is increased to the next nearest power of two. */
  4. public ObjectMap (int initialCapacity, float loadFactor) {
  5. if (initialCapacity < 0) throw new IllegalArgumentException("initialCapacity must be >= 0: " + initialCapacity);
  6. initialCapacity = MathUtils.nextPowerOfTwo((int)Math.ceil(initialCapacity / loadFactor));
  7. if (initialCapacity > 1 << 30) throw new IllegalArgumentException("initialCapacity is too large: " + initialCapacity);
  8. capacity = initialCapacity;
  9. if (loadFactor <= 0) throw new IllegalArgumentException("loadFactor must be > 0: " + loadFactor);
  10. this.loadFactor = loadFactor;
  11. threshold = (int)(capacity * loadFactor);
  12. mask = capacity - 1;
  13. hashShift = 31 - Integer.numberOfTrailingZeros(capacity);
  14. stashCapacity = Math.max(3, (int)Math.ceil(Math.log(capacity)) * 2);
  15. pushIterations = Math.max(Math.min(capacity, 8), (int)Math.sqrt(capacity) / 8);
  16. keyTable = (K[])new Object[capacity + stashCapacity];
  17. valueTable = (V[])new Object[keyTable.length];
  18. }

代码示例来源:origin: libgdx/libgdx

  1. /** Creates a new map with the specified initial capacity and load factor. This map will hold initialCapacity items before
  2. * growing the backing table.
  3. * @param initialCapacity If not a power of two, it is increased to the next nearest power of two. */
  4. public ObjectIntMap (int initialCapacity, float loadFactor) {
  5. if (initialCapacity < 0) throw new IllegalArgumentException("initialCapacity must be >= 0: " + initialCapacity);
  6. initialCapacity = MathUtils.nextPowerOfTwo((int)Math.ceil(initialCapacity / loadFactor));
  7. if (initialCapacity > 1 << 30) throw new IllegalArgumentException("initialCapacity is too large: " + initialCapacity);
  8. capacity = initialCapacity;
  9. if (loadFactor <= 0) throw new IllegalArgumentException("loadFactor must be > 0: " + loadFactor);
  10. this.loadFactor = loadFactor;
  11. threshold = (int)(capacity * loadFactor);
  12. mask = capacity - 1;
  13. hashShift = 31 - Integer.numberOfTrailingZeros(capacity);
  14. stashCapacity = Math.max(3, (int)Math.ceil(Math.log(capacity)) * 2);
  15. pushIterations = Math.max(Math.min(capacity, 8), (int)Math.sqrt(capacity) / 8);
  16. keyTable = (K[])new Object[capacity + stashCapacity];
  17. valueTable = new int[keyTable.length];
  18. }

代码示例来源:origin: libgdx/libgdx

  1. /** Creates a new map with the specified initial capacity and load factor. This map will hold initialCapacity items before
  2. * growing the backing table.
  3. * @param initialCapacity If not a power of two, it is increased to the next nearest power of two. */
  4. public IntIntMap (int initialCapacity, float loadFactor) {
  5. if (initialCapacity < 0) throw new IllegalArgumentException("initialCapacity must be >= 0: " + initialCapacity);
  6. initialCapacity = MathUtils.nextPowerOfTwo((int)Math.ceil(initialCapacity / loadFactor));
  7. if (initialCapacity > 1 << 30) throw new IllegalArgumentException("initialCapacity is too large: " + initialCapacity);
  8. capacity = initialCapacity;
  9. if (loadFactor <= 0) throw new IllegalArgumentException("loadFactor must be > 0: " + loadFactor);
  10. this.loadFactor = loadFactor;
  11. threshold = (int)(capacity * loadFactor);
  12. mask = capacity - 1;
  13. hashShift = 31 - Integer.numberOfTrailingZeros(capacity);
  14. stashCapacity = Math.max(3, (int)Math.ceil(Math.log(capacity)) * 2);
  15. pushIterations = Math.max(Math.min(capacity, 8), (int)Math.sqrt(capacity) / 8);
  16. keyTable = new int[capacity + stashCapacity];
  17. valueTable = new int[keyTable.length];
  18. }

代码示例来源:origin: prestodb/presto

  1. private PartitionedLookupSource(List<? extends LookupSource> lookupSources, List<Type> hashChannelTypes, Optional<OuterPositionTracker> outerPositionTracker)
  2. {
  3. this.lookupSources = lookupSources.toArray(new LookupSource[lookupSources.size()]);
  4. // this generator is only used for getJoinPosition without a rawHash and in this case
  5. // the hash channels are always packed in a page without extra columns
  6. int[] hashChannels = new int[hashChannelTypes.size()];
  7. for (int i = 0; i < hashChannels.length; i++) {
  8. hashChannels[i] = i;
  9. }
  10. this.partitionGenerator = new LocalPartitionGenerator(new InterpretedHashGenerator(hashChannelTypes, hashChannels), lookupSources.size());
  11. this.partitionMask = lookupSources.size() - 1;
  12. this.shiftSize = numberOfTrailingZeros(lookupSources.size()) + 1;
  13. this.outerPositionTracker = outerPositionTracker.orElse(null);
  14. }

相关文章