JavaSE---集合

1、【ArrayList】

public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable{
private static final long serialVersionUID = 8683452581122892189L; private static final int DEFAULT_CAPACITY = 10;   public boolean add(E e) { ensureCapacityInternal(size + 1); // Increments modCount!! elementData[size++] = e; return true; }   private void ensureCapacityInternal(int minCapacity) { ensureExplicitCapacity(calculateCapacity(elementData, minCapacity)); }   private void ensureExplicitCapacity(int minCapacity) { modCount++; // overflow-conscious code if (minCapacity - elementData.length > 0) grow(minCapacity); }   private void grow(int minCapacity) { // overflow-conscious code int oldCapacity = elementData.length; int newCapacity = oldCapacity + (oldCapacity >> 1); if (newCapacity - minCapacity < 0) newCapacity = minCapacity; if (newCapacity - MAX_ARRAY_SIZE > 0) newCapacity = hugeCapacity(minCapacity); // minCapacity is usually close to size, so this is a win: elementData = Arrays.copyOf(elementData, newCapacity); }
  
public int indexOf(Object o) {
if (o == null) {
for (int i = 0; i < size; i++)
if (elementData[i]==null)
return i;
} else {
for (int i = 0; i < size; i++)
if (o.equals(elementData[i]))
return i;
}
return -1;
}

public int lastIndexOf(Object o) {
if (o == null) {
for (int i = size-1; i >= 0; i--)
if (elementData[i]==null)
return i;
} else {
for (int i = size-1; i >= 0; i--)
if (o.equals(elementData[i]))
return i;
}
return -1;
}

}


    初始容量:10   扩容:为原来的一半 int newCapacity = oldCapacity + (oldCapacity >> 1);

2、【HashMap】

public class HashMap<K,V> extends AbstractMap<K,V>
    implements Map<K,V>, Cloneable, Serializable {
    
   static final int DEFAULT_INITIAL_CAPACITY = 1 << 4;
   static final int MAXIMUM_CAPACITY = 1 << 30;  
   static final float DEFAULT_LOAD_FACTOR = 0.75f;

}

    初始容量:16  

    HashMap判断2个key相同的标准:2个key的equals返回true,2个hashCode值相等;

    HashMap判断2个value相同的标准:2个value值equals返回true;

猜你喜欢

转载自www.cnblogs.com/anpeiyong/p/10385901.html
今日推荐