List:
/*
java.util.List接口 extends Collection接口
List接口的特色:
1.有序的集合,存儲元素和取出元素的順序是一致的(存儲123 取出123)
2.有索引,包含了一些帶索引的方法
3.容許存儲重複的元素java
List接口中帶索引的方法(特有) - public void add(int index, E element): 將指定的元素,添加到該集合中的指定位置上。 - public E get(int index):返回集合中指定位置的元素。 - public E remove(int index): 移除列表中指定位置的元素, 返回的是被移除的元素。 - public E set(int index, E element):用指定元素替換集合中指定位置的元素,返回值的更新前的元素。 注意: 操做索引的時候,必定要防止索引越界異常 IndexOutOfBoundsException:索引越界異常,集合會報 ArrayIndexOutOfBoundsException:數組索引越界異常 StringIndexOutOfBoundsException:字符串索引越界異常
*/
public class Demo01List {
public static void main(String[] args) {
//建立一個List集合對象,多態
List<String> list = new ArrayList<>();
//使用add方法往集合中添加元素
list.add("a");
list.add("b");
list.add("c");
list.add("d");
list.add("a");
//打印集合
System.out.println(list);//[a, b, c, d, a] 不是地址重寫了toString數組
//public void add(int index, E element): 將指定的元素,添加到該集合中的指定位置上。 //在c和d之間添加一個itheima list.add(3,"itheima");//[a, b, c, itheima, d, a] System.out.println(list); //public E remove(int index): 移除列表中指定位置的元素, 返回的是被移除的元素。 //移除元素 String removeE = list.remove(2); System.out.println("被移除的元素:"+removeE);//被移除的元素:c System.out.println(list);//[a, b, itheima, d, a] //public E set(int index, E element):用指定元素替換集合中指定位置的元素,返回值的更新前的元素。 //把最後一個a,替換爲A String setE = list.set(4, "A"); System.out.println("被替換的元素:"+setE);//被替換的元素:a System.out.println(list);//[a, b, itheima, d, A] //List集合遍歷有3種方式 //使用普通的for循環 for(int i=0; i<list.size(); i++){ //public E get(int index):返回集合中指定位置的元素。 String s = list.get(i); System.out.println(s); } System.out.println("-----------------"); //使用迭代器 Iterator<String> it = list.iterator(); while(it.hasNext()){ String s = it.next(); System.out.println(s); } System.out.println("-----------------"); //使用加強for for (String s : list) { System.out.println(s); } String r = list.get(5);//IndexOutOfBoundsException: Index 5 out-of-bounds for length 5 System.out.println(r); }
}ide
LinkedList:
/*
java.util.LinkedList集合 implements List接口
LinkedList集合的特色:
1.底層是一個鏈表結構:查詢慢,增刪快
2.裏邊包含了大量操做首尾元素的方法
注意:使用LinkedList集合特有的方法,不能使用多態code
- public void addFirst(E e):將指定元素插入此列表的開頭。 - public void addLast(E e):將指定元素添加到此列表的結尾。 - public void push(E e):將元素推入此列表所表示的堆棧。 - public E getFirst():返回此列表的第一個元素。 - public E getLast():返回此列表的最後一個元素。 - public E removeFirst():移除並返回此列表的第一個元素。 - public E removeLast():移除並返回此列表的最後一個元素。 - public E pop():今後列表所表示的堆棧處彈出一個元素。 - public boolean isEmpty():若是列表不包含元素,則返回true。
*/對象
public class Demo02LinkedList { public static void main(String[] args) { show03(); } /* - public E removeFirst():移除並返回此列表的第一個元素。 - public E removeLast():移除並返回此列表的最後一個元素。 - public E pop():今後列表所表示的堆棧處彈出一個元素。此方法至關於 removeFirst */ private static void show03() { //建立LinkedList集合對象 LinkedList<String> linked = new LinkedList<>(); //使用add方法往集合中添加元素 linked.add("a"); linked.add("b"); linked.add("c"); System.out.println(linked);//[a, b, c] //String first = linked.removeFirst(); String first = linked.pop(); System.out.println("被移除的第一個元素:"+first); String last = linked.removeLast(); System.out.println("被移除的最後一個元素:"+last); System.out.println(linked);//[b] } /* - public E getFirst():返回此列表的第一個元素。 - public E getLast():返回此列表的最後一個元素。 */ private static void show02() { //建立LinkedList集合對象 LinkedList<String> linked = new LinkedList<>(); //使用add方法往集合中添加元素 linked.add("a"); linked.add("b"); linked.add("c"); //linked.clear();//清空集合中的元素 在獲取集合中的元素會拋出NoSuchElementException //public boolean isEmpty():若是列表不包含元素,則返回true。 if(!linked.isEmpty()){ String first = linked.getFirst(); System.out.println(first);//a String last = linked.getLast(); System.out.println(last);//c } } /* - public void addFirst(E e):將指定元素插入此列表的開頭。 - public void addLast(E e):將指定元素添加到此列表的結尾。 - public void push(E e):將元素推入此列表所表示的堆棧。此方法等效於 addFirst(E)。 */ private static void show01() { //建立LinkedList集合對象 LinkedList<String> linked = new LinkedList<>(); //使用add方法往集合中添加元素 linked.add("a"); linked.add("b"); linked.add("c"); System.out.println(linked);//[a, b, c] //public void addFirst(E e):將指定元素插入此列表的開頭。 //linked.addFirst("www"); linked.push("www"); System.out.println(linked);//[www, a, b, c] //public void addLast(E e):將指定元素添加到此列表的結尾。此方法等效於 add() linked.addLast("com"); System.out.println(linked);//[www, a, b, c, com] }
}索引