【Java】【集合框架】集合框架(list)

集合框架(list)

  1. ArrayList(數組集合)查詢與修改快
迭代器
@SuppressWarnings({ "rawtypes", "unchecked" })
public class Demo1_Collection {

    public static void main(String[] args) {
        ArrayList<Student> list = new ArrayList<>();
        list.add(new Student("張三", 23));
        list.add(new Student("李四", 24));
        list.add(new Student("王五", 25));
    
        Iterator<Student> iterator = list.iterator();
        while (iterator.hasNext()) {
            System.out.println(iterator.next());
        }
        
    }
}
  1. 迭代器并發修改異常解決方案
@SuppressWarnings({ "rawtypes", "unchecked" })
public class Demo1_Collection {

    public static void main(String[] args) {
        ArrayList list = new ArrayList();
        list.add("a");
        list.add("b");
        list.add("c");
    
        ListIterator listIterator = list.listIterator();
        while(listIterator.hasNext()){
            String string = (String)listIterator.next();
            if("c".equals(string)){
                listIterator.add("JavaEE");
            }
        }
        System.out.println(list);
    }
}
  1. LinkedList 增刪快
@SuppressWarnings({ "rawtypes", "unchecked" })
public class Demo1_Collection {

    public static void main(String[] args) {
        LinkedList list = new LinkedList();
        list.add("a");
        list.add("b");
        list.add("c");
    
        ListIterator listIterator = list.listIterator();
        while(listIterator.hasNext()){
            String string = (String)listIterator.next();
            if("c".equals(string)){
                listIterator.add("JavaEE");
            }
        }
        System.out.println(list);
    }
}
  1. ArrayList去除重復內容 當我們重寫數據模型equals方法后也可以通過這種方式去重引用類型內容
@SuppressWarnings({ "rawtypes", "unchecked" })
public class Demo1_Collection {

    public static void main(String[] args) {
        ArrayList list = new ArrayList();
        list.add("a");
        list.add("b");
        list.add("b");
        list.add("c");
        list.add("c");
        list.add("b");
        list.add("b");
        list.add("a");
        System.out.println(getSingle(list));
    }

    public static ArrayList getSingle(ArrayList list) {
        ArrayList newList = new ArrayList<>();
        Iterator it = list.iterator();
    
        while (it.hasNext()) {
            Object obj = (Object)it.next();
            if (!newList.contains(obj)) {
                newList.add(obj);
            }
        }
    
        return newList;
    }
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • ``` /* * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject ...
    非專業碼農閱讀 346評論 0 0
  • 集合框架 集合體系根接口:Collection 區別:數組可以存儲基本數據類型和引用數據類型集合只能存儲引用數據類...
    JerichoPH閱讀 292評論 0 0
  • 泛型 對象和實例是一個意思,類與對象的關系就像數據類型和變量一樣。 泛型的主要目的之一就是用來指定類(如:容器)要...
    yueyue_projects閱讀 589評論 0 0
  • java筆記第一天 == 和 equals ==比較的比較的是兩個變量的值是否相等,對于引用型變量表示的是兩個變量...
    jmychou閱讀 1,518評論 0 3
  • 對象的創建與銷毀 Item 1: 使用static工廠方法,而不是構造函數創建對象:僅僅是創建對象的方法,并非Fa...
    孫小磊閱讀 2,031評論 0 3