java.util.ArrayList集合的数据存储结构是数组,且是多线程,元素增删慢,查找快,
由于日常使用开发大多数为查询数据,遍历数据,所以ArrayList是最常用的集合。上一节已写了。
java.util.LinkedList集合属于双向链表,查询慢,增删快,有大量操作首尾元素的方法,下面用代码实现LinkedList的方法:
package 集合; import java.util.LinkedList; /* LinkedList集合的特点: * 1.底层是一个链表形式的结构,查询慢,增删快 * 2.里面包含了大量操作首尾元素的方法 * 注意:使用LinkedList集合特有的方法,不能使用多态 */ public class demo02LinkedList { public static void main(String[] args) { show1(); System.out.println("------------------"); show2(); } private static void show1() { LinkedList<String> linked= new LinkedList<String>(); //添加元素 linked.add("a"); linked.add("b"); linked.add("c"); System.out.println(linked); //在linked集合的首位置添加元素 linked.addFirst("www"); linked.push("www"); //和addFirst结果一样的 System.out.println(linked); //在linked集合末位置添加元素 linked.addLast(".com"); System.out.println(linked); } private static void show2() { LinkedList<String> linked= new LinkedList<String>(); //添加元素 linked.add("a"); linked.add("b"); linked.add("c"); System.out.println(linked); //返回linked集合的第一个元素 String first=linked.getFirst(); System.out.println(first); //返回linked集合的最后一个元素 String last=linked.getLast(); System.out.println(last); //清空集合,集合已经空了,清空之后不能再调用方法了,否则报错。 // linked.clear(); //如果不为空,继续可以调用方法 if(!linked.isEmpty()) { String f=linked.getFirst(); System.out.println(f); } //移除集合的第一个元素 linked.removeFirst(); System.out.println(linked); //移除集合最后一个元素 linked.removeLast(); System.out.println(linked); } }