数据结构之数组
添加一个元素 add(Objiect e);
public boolean add(E e) {ensureCapacityInternal(size + 1); // 这个方法会把数组扩容+1,把原数组的数据COPY到新的数组
elementData[size++] = e;//添加数据到数组里面
return true;
}
添加一个元素到特定的位置add(int index ,Objiect e);
public void add(int index, E element) {rangeCheckForAdd(index);//检查index是否超过长度
ensureCapacityInternal(size + 1); // 扩容数组
System.arraycopy(elementData, index, elementData, index + 1,
size - index);//把原来下标以及的数据往后移动
elementData[index] = element;//把添加的数据放到index中
size++;
}
获取元素get(int index)
public E get(int index) {rangeCheck(index);//检查index是否超过长度
return elementData(index);//拿出index下标的数据
}
3.数组与链表的区别和优缺点
数组
由于有下标所以查询数度快。
每次添加元素都需要新建一个数组,并且复制数据所以添加数据比较慢,而且相对占用内存
因为有下标所以排序比较方便
链表
查询只能按顺序或者使用二分法查询。链表越长查询数度越慢。
添加元素只需要在next联结上就可以,速度较快
排序较为困难
那么如果没有随机查询和排序的需求建议使用链表结构反正可以使用数组。
以上是 数据结构之数组 的全部内容, 来源链接: utcz.com/z/515306.html