ArrayList和LinkList的区别:
1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。
2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。
3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。
4.ArrayList 类(动态数组)的使用条件:当我们不知道到底有多少个数据元素的时候,就可使用ArrayList;如果知道数据集合有多少个元素,就用数组。
5.ArrayList类支持3个构造方法。
Arraylist() 这个构造方法构造了一个空的链表。
ArrayList(Collection<? extends E> c) 这个构造方法构造了一个包含指定元素集合的链表,注意,这里的字符E是一个标记,用来表示集合中元素的类型。至于具体是什么类型,需要你在使用这个构造方法的时候来指定。ArrayList(int initialCapacity)这是第三个构造方法,构造了一个指定大小但内容为空的链表。initialCapacity参数就是初始容量大小。
例如:ArrayList list = new ArrayList();(创建一个String类型的空的数组链表)
ArrayList list = new ArrayList(7);(创建一个指定容量的数组链表)
6.ArrayList的成员方法: 增加元素到链表中
boolean add(Element e)增加指定元素到链表尾部.
void add(int index, Element e)增加指定元素到链表指定位置.从链表中删除元素
void clear()从链表中删除所有元素.E
remove(int index)删除链表中指定位置的元素.
protected void removeRange(int start, int end)删除链表中从某一个位置开始到某一个位置结束的元素获取链表中的元素E
get(int index)
获取链表中指定位置处的元素.
Object[] toArray()获取一个数组,数组中所有元素是链表中的元素.(即将链表转换为一个数组)
修改某个元素E set(int index, E element)将链表中指定位置上的元素替换成新元素。
搜索元素boolean contains(Object o)
如果链表包含指定元素,返回true.
int indexOf(Object o)返回元素在链表中第一次出现的位置,如果返回-1,表示链表中没有这个元素。
int lastIndexOf(Object o)返回元素在链表中最后一次出现的位置,如果返回-1,表示链表中没有这个元素。
检查链表是否为空boolean isEmpty()
返回true表示链表中没有任何元素.
获取链表大小int size()返回链表长度(链表包含元素的个数).
4.迭代器的用法: 迭代器的格式: Iterator it=g.iterator(); //用迭代器进行遍历ArrayList集合
while(it.hasNext())
{
this.addGoods(it.next());
}
迭代器在迭代期间可以从集合中移除元素。
ArrayList和List
最新推荐文章于 2024-06-12 14:33:24 发布