ArrayList
package com.ff.javaCollection.Day1;
import java.util.ArrayList;
public class ArrayListDemo extends ArrayList {
public static void main(String[] args) {
ArrayListDemo c=new ArrayListDemo();
//Collection c=new ArrayList();
c.add("a");//添加元素,往集合尾部添加
c.add(1);
c.add(true);
c.add(2);
c.add("abc");
c.add("def");
//ArrayList.removeRange(1,2);
//c.remove(1);//删除某个元素
//c.clear();//清空元素
//c.isEmpty();//判断是否为空
//c.contains(1);//判断是否包含某个元素
//System.out.println(c.size());//返回集合中的元素数
//c.removeRange(2,3);//移除列表中索引在 fromIndex(包括)和 toIndex(不包括)之间的所有元
System.out.println(c);
}
}
LinkedList
package com.ff.javaCollection.Day2;
import java.util.LinkedList;
/*
* LinkedList<E>
* 采用链表存储方式。插入、删除元素时效率比较高
* LinkedList 类还为在列表的开头及结尾 get、remove 和 insert 元素提供了统一的命名方法。这些操作允许将链接列表用作堆栈、队列或双端队列
* */
public class LinkedListDemo {
public static void main(String[] args) {
LinkedList list=new LinkedList();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
//list.addFirst("K");//将指定元素插入列表开头
//list.addLast("K1");//将指定元素插入元素末尾
//list.getFirst();//获取列表第一个元素
//list.getLast();//获取列表最后一个元素
//System.out.println(list.get(2));//获取数组下标为2的元素值
//System.out.println(list.indexOf("a"));
//获取列表中首次出现的元素索引,若是不存在则返回-1
//list.offer("w");//将指定元素添加到列表末尾
//System.out.println(list.lastIndexOf("b"));//获取列表中最后出现的指定元素索引
//list.set(2,"p");//将列表中指定位置的元素换成指定元素
//System.out.println(list.size());//返回列表的长度
System.out.println(list);
}
}
ArrayList和LinkedList的异同
同:ArrayList和LinkedList都是实现了List接口的容器类,用于存储一系列的对象引用,他们都可以对元素的增删改查进行操作
ArrayList:在集合的末尾添加或删除元素所用的时间是一致的,但是在中间添加或删除元素时所用时间就会大大增加;但是它在根据索引查找元素时速度会很快
LinkedList:它在插入、删除集合中任何位置的元素所花费的时间都是一样的,但是根据索引查询一个元素的时候会比较慢