Tabnine Logo
Integer.numberOfTrailingZeros
Code IndexAdd Tabnine to your IDE (free)

How to use
numberOfTrailingZeros
method
in
java.lang.Integer

Best Java code snippets using java.lang.Integer.numberOfTrailingZeros (Showing top 20 results out of 2,295)

origin: org.apache.commons/commons-lang3

/**
 * <p>Creates a BitField instance.</p>
 *
 * @param mask the mask specifying which bits apply to this
 *  BitField. Bits that are set in this mask are the bits
 *  that this BitField operates on
 */
public BitField(final int mask) {
  _mask = mask;
  _shift_count = mask == 0 ? 0 : Integer.numberOfTrailingZeros(mask);
}
origin: google/guava

 @Override
 public E next() {
  int index = Integer.numberOfTrailingZeros(remainingSetBits);
  if (index == 32) {
   throw new NoSuchElementException();
  }
  remainingSetBits &= ~(1 << index);
  return elements.get(index);
 }
};
origin: prestodb/presto

 @Override
 public E next() {
  int index = Integer.numberOfTrailingZeros(remainingSetBits);
  if (index == 32) {
   throw new NoSuchElementException();
  }
  remainingSetBits &= ~(1 << index);
  return elements.get(index);
 }
};
origin: libgdx/libgdx

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Javadoc

Determines the number of trailing zeros in the specified integer after the #lowestOneBit(int).

Popular methods of Integer

  • parseInt
    Parses the specified string as a signed integer value using the specified radix. The ASCII character
  • toString
    Converts the specified signed integer into a string representation based on the specified radix. The
  • valueOf
    Parses the specified string as a signed integer value using the specified radix.
  • intValue
    Gets the primitive value of this int.
  • <init>
    Constructs a new Integer from the specified string.
  • toHexString
    Returns a string representation of the integer argument as an unsigned integer in base 16.The unsign
  • equals
    Compares this instance with the specified object and indicates if they are equal. In order to be equ
  • compareTo
    Compares this Integer object to another object. If the object is an Integer, this function behaves l
  • hashCode
  • compare
    Compares two int values.
  • longValue
    Returns the value of this Integer as along.
  • decode
    Parses the specified string and returns a Integer instance if the string can be decoded into an inte
  • longValue,
  • decode,
  • numberOfLeadingZeros,
  • getInteger,
  • doubleValue,
  • toBinaryString,
  • byteValue,
  • bitCount,
  • shortValue,
  • highestOneBit

Popular in Java

  • Running tasks concurrently on multiple threads
  • requestLocationUpdates (LocationManager)
  • getOriginalFilename (MultipartFile)
    Return the original filename in the client's filesystem.This may contain path information depending
  • onRequestPermissionsResult (Fragment)
  • IOException (java.io)
    Signals a general, I/O-related error. Error details may be specified when calling the constructor, a
  • System (java.lang)
    Provides access to system-related information and resources including standard input and output. Ena
  • Date (java.util)
    A specific moment in time, with millisecond precision. Values typically come from System#currentTime
  • Pattern (java.util.regex)
    Patterns are compiled regular expressions. In many cases, convenience methods such as String#matches
  • Notification (javax.management)
  • Reflections (org.reflections)
    Reflections one-stop-shop objectReflections scans your classpath, indexes the metadata, allows you t
  • Top Sublime Text plugins
Tabnine Logo
  • Products

    Search for Java codeSearch for JavaScript code
  • IDE Plugins

    IntelliJ IDEAWebStormVisual StudioAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimGoLandRubyMineEmacsJupyter NotebookJupyter LabRiderDataGripAppCode
  • Company

    About UsContact UsCareers
  • Resources

    FAQBlogTabnine AcademyTerms of usePrivacy policyJava Code IndexJavascript Code Index
Get Tabnine for your IDE now