arraylist.java
来自「Sony Ericsson手机上的Facebook客户端全套代码」· Java 代码 · 共 227 行
JAVA
227 行
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3)
// Source File Name: ArrayList.java
package se.southend.drops.tools;
// Referenced classes of package se.southend.drops.tools:
// List
public class ArrayList
implements List
{
public ArrayList()
{
this(6);
}
public ArrayList(int capacity)
{
if(capacity < 0)
capacity = 0;
data = new Object[capacity];
}
public Object[] getArray()
{
return data;
}
public void trim()
{
if(data.length > size)
setCapacity(size);
}
public void setCapacity(int capacity)
{
Object temp[] = data;
data = new Object[capacity];
System.arraycopy(((Object) (temp)), 0, ((Object) (data)), 0, size);
}
public final Object get(int index)
{
return data[index];
}
public final void set(Object element, int index)
{
data[index] = element;
}
public final Object first()
{
return data[0];
}
public final Object last()
{
return data[size - 1];
}
public void add(Object element)
{
updateCapacity(size + 1);
data[size++] = element;
}
public void add(Object elements[])
{
if(elements != null)
{
int nbrElements = elements.length;
updateCapacity(size + nbrElements);
System.arraycopy(((Object) (elements)), 0, ((Object) (data)), size, nbrElements);
size += nbrElements;
} else
{
add((Object)null);
}
}
public void insert(Object element, int index)
{
updateCapacity(size + 1);
System.arraycopy(((Object) (data)), index, ((Object) (data)), index + 1, size - index);
data[index] = element;
size++;
}
public void insert(Object elements[], int index)
{
int nbrElements = elements.length;
updateCapacity(size + nbrElements);
int after = size - index;
if(after > 0)
System.arraycopy(((Object) (data)), index, ((Object) (data)), index + nbrElements, after);
System.arraycopy(((Object) (elements)), 0, ((Object) (data)), index, nbrElements);
size += nbrElements;
}
public void remove(Object element)
{
int index = indexOf(element, 0);
if(index >= 0)
remove(index);
}
public void remove(int index)
{
int after = size - index - 1;
if(after > 0)
System.arraycopy(((Object) (data)), index + 1, ((Object) (data)), index, after);
data[--size] = null;
}
public void remove(int fromIndex, int toIndex)
{
int after = size - toIndex;
if(after > 0)
System.arraycopy(((Object) (data)), toIndex, ((Object) (data)), fromIndex, after);
for(int newSize = size - (toIndex - fromIndex); size != newSize;)
data[--size] = null;
}
public int indexOf(Object element)
{
return indexOf(element, 0);
}
public int indexOf(Object element, int fromIndex)
{
if(element == null)
{
for(int i = fromIndex; i < size; i++)
if(data[i] == null)
return i;
} else
{
for(int i = fromIndex; i < size; i++)
if(element.equals(data[i]))
return i;
}
return -1;
}
public int lastIndexOf(Object element)
{
return lastIndexOf(element, size - 1);
}
public int lastIndexOf(Object element, int fromIndex)
{
if(element == null)
{
for(int i = fromIndex; i >= 0; i--)
if(data[i] == null)
return i;
} else
{
for(int i = fromIndex; i >= 0; i--)
if(element.equals(data[i]))
return i;
}
return -1;
}
public void empty()
{
for(int i = 0; i < size; i++)
data[i] = null;
size = 0;
}
public boolean contains(Object element)
{
return indexOf(element, 0) >= 0;
}
public final boolean isEmpty()
{
return size == 0;
}
public final int size()
{
return size;
}
public Object[] toArray()
{
Object result[] = new Object[size];
return toArray(result, 0);
}
public Object[] toArray(Object result[], int offset)
{
System.arraycopy(((Object) (data)), 0, ((Object) (result)), offset, size);
return result;
}
private void updateCapacity(int capacity)
{
int currentCapacity = data.length;
if(capacity > currentCapacity)
{
currentCapacity = (currentCapacity * 3 >> 1) + 1;
if(currentCapacity < capacity)
currentCapacity = capacity;
setCapacity(currentCapacity);
}
}
private static final int DEFAULT_CAPACITY = 6;
private Object data[];
private int size;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?