List定义: List集合代表一个元素有序、可以重复的集合,集合中每个元素都有其对应的顺序索引(List集合默认以元素的添加顺序作为索引)。
List的实现类:
1.ArrayList: ArrayList是一个List(接口)的实现类,因此List和Collection中的方法都在它里面实现了。ArrayList底层是用数组实现的,因此查询效率高,删除和添加效率低下。 下面是手动实现基本的ArrayList的代码:
package collection.arraylist;
public class Collectontest {
private Object[] element;
private int size;
private static final int QW_RE = 10;
// 定义构造器
public Collectontest(){
}
public Collectontest(int size){
if (size < 0){
throw new RuntimeException("容器的大小不合法");
}
else if (size == 0){
element = new Object[QW_RE];
}
else
element = new Object[size];
}
// 将元素添加进去容器中
public void add(String s){
// 数组的扩容
if (size == element.length){
// 采用jdk底层的扩容原理
Object[] newArray = new Object[element.length + (element.length>>1)];
System.arraycopy(element,0,newArray,0,element.length);
element = newArray;
}
element[size++] = s;
}
//重写toString方法
@Override
public String toString(){
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append('[');
for (int i =0;i < size;i++){
stringBuilder.append(element[i]);
if (i != size-1){
stringBuilder.append(',');
}
else