1. 程式人生 > 其它 >集合Collection ----LIst集合

集合Collection ----LIst集合

Collection集合體系的特點:

  set系列集合:新增的元素是 無序,不重複,無索引的

  ----HashSet: 無序,不重複,無索引

  ----LinkedHashSet: 有序,不重複,無索引

  List系列集合:新增的元素是 有序,可重複,有索引的

  ----LinkedList: 有序,可重複,有索引的

  ----ArrayList : 有序,可重複,有索引

Arraylist:儲存是陣列結構,元素增刪慢,查詢快

- `public void add(int index, E element)`: 將指定的元素,新增到該集合中的指定位置上。
- `public E get(int index)`:返回集合中指定位置的元素。
- `public E remove(int index)`: 移除列表中指定位置的元素, 返回的是被移除的元素。
- `public E set(int index, E element)`:用指定元素替換集合中指定位置的元素,返回值的更新前的元素。

import java.util.ArrayList;
import java.util.List;

public class ListDemo1 {
    public static void main(String[] args) {
        List<String> lists=new ArrayList<>();//Arraylist幾乎沒有增加功能,所以用多型
        lists.add("sfdsfd");
        lists.add("zyl" );
        lists.add("yuyu");
        lists.add(
"huwof"); System.out.println(lists);// [sfdsfd, zyl, yuyu, huwof] lists.add(1,"yyyy"); System.out.println(lists);// [sfdsfd, yyyy, zyl, yuyu, huwof] System.out.println(lists.get(2));// zyl System.out.println(lists.remove(3));// yuyu System.out.println(lists);//
[sfdsfd, yyyy, zyl, huwof] lists.set(0,"ppppp"); System.out.println(lists);// [ppppp, yyyy, zyl, huwof] } }

LinkedList:儲存的結構是連結串列結構(雙向連結串列),方便元素新增、刪除

- `public void addFirst(E e)`:將指定元素插入此列表的開頭。
- `public void addLast(E e)`:將指定元素新增到此列表的結尾。
- `public E getFirst()`:返回此列表的第一個元素。
- `public E getLast()`:返回此列表的最後一個元素。
- `public E removeFirst()`:移除並返回此列表的第一個元素。
- `public E removeLast()`:移除並返回此列表的最後一個元素。
- `public E pop()`:從此列表所表示的堆疊處彈出一個元素。
- `public void push(E e)`:將元素推入此列表所表示的堆疊。
- `public boolean isEmpty()`:如果列表不包含元素,則返回true。

import java.util.LinkedList;

public class LinkedListDemo1 {
    public static void main(String[] args) {
        LinkedList<String> stack = new LinkedList<>();
        stack.addFirst("aaaa");
        stack.addFirst("bbbb");
        stack.addFirst("cccc");
        System.out.println(stack); //[cccc, bbbb, aaaa]
        stack.add("dddd");
        System.out.println(stack);  //[cccc, bbbb, aaaa, dddd]
        System.out.println(stack.remove("bbbb")); //true
        System.out.println(stack.getFirst()); //cccc

        LinkedList<String> stack1 = new LinkedList<>();
        stack1.push("111");  //stack.push() --> stack.getFirst()
        stack1.push("222");
        stack1.push("333");
        System.out.println(stack1); // [333, 222, 111]
        System.out.println(stack1.pop()); //333     stack.pop() -->stack.removeFirst()
        System.out.println(stack1); // [222, 111]

    }
}