程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> Java基礎Collection集合,javacollection集合

Java基礎Collection集合,javacollection集合

編輯:JAVA綜合教程

Java基礎Collection集合,javacollection集合


1.Collection是所有集合的父類,在JDK1.5之後又加入了Iterable超級類(可以不用了解)

2.學習集合從Collection開始,所有集合都繼承了他的方法

集合結構如圖:

主要學習Collection中的

add()方法

向集合中添加元素

Collection<String> list = new ArrayList<>(); //父類引用指向子類對象
        list.add("a");
        list.add("a");
        list.add("b");
        list.add("a");

-----------------------------------------------------------------------------------------------------------

remove()方法

移除集合中的元素

list.remove("a");

注意:Collection接口中remove()方法只可以傳遞固定的元素,不可以傳索進去,只是子類重寫remove()方法的功能

-----------------------------------------------------------------------------------------------------------

clear()方法

清空集合

list.clear();

-----------------------------------------------------------------------------------------------------------

size()方法

獲取集合的長度

list.size();

字符串的長度是length()  數組長度是length屬性 不要混淆

-----------------------------------------------------------------------------------------------------------

contains()方法

包含   傳入一個值檢測集合中是否包含這個元素  返回值Boolean類型

通常用來ArrayList集合中去重復元素   

-----------------------------------------------------------------------------------------------------------

toArray()方法

將集合轉為數組

Interger[] arr = list.toArray(new Integer[0]);

將數組轉為集合

List<Integer> list = Arrays.aslist(arr);

-----------------------------------------------------------------------------------------------------------

Collection<String> list = new ArrayList<>();
        list.add("a");
        list.add("a");
        list.add("b");
        list.add("a");
        System.out.println(list);
        System.out.println(list.toString());
        
        list.remove("a");
        System.out.println(list);
        
        boolean b = list.contains("a");
        System.out.println(b);
        
        String[] str = list.toArray(new String[0]);
        System.out.println(Arrays.toString(str));
        
        List<String> list1 =  Arrays.asList(str);
        
        list.clear();
        System.out.println(list);

-----------------------------------------------------------------------------------------------------------

遍歷集合(刪除元素)

    public static void main(String[] args) {
        fun2();

    }
    /**
     * 普通for刪除
     */
    public static void fun(){
        ArrayList<String> list = new ArrayList<>();
        list.add("a");
        list.add("a");
        list.add("b");
        list.add("a");
        for (int i = 0; i < list.size(); i++) {
            if(list.get(i).equals("a")){
            //這裡的i--   是因為如果找到相連的元素  要把元素向前推一個索引  因為集合刪除一個元素,這個元素的索引會被下一個元素覆蓋,

            //導致下一個元素沒有被判讀

             list.remove(i--);
            }
        }
        System.out.println(list);
    }
    
    /**
     * 增強for刪除   
     * 不可以刪除元素   增強for沒有記錄list的索引不可以用來刪除
     */
    public static void fun1(){
        ArrayList<String> list = new ArrayList<>();
        list.add("a");
        list.add("a");
        list.add("b");
        list.add("a");
        for (String string : list) {
            if(string.equals("b")){
                list.remove("b");
            }
        }
        System.out.println(list);
    }
    /**
     * 迭代器刪除  這裡要注意  要用一個值記錄iterator.next的值  如果沒有記錄就不可刪除相連的元素

     *因為集合你在刪除元素的時候索引會向前一個,在執行的時候就會跳到下一個索引了.這裡需要理解
     */
    public static void fun2(){
        ArrayList<String> list = new ArrayList<>();
        list.add("a");
        list.add("a");
        list.add("b");
        list.add("a");
        Iterator<String> iterator = list.iterator();
        while(iterator.hasNext()){
            String string = iterator.next();
            if(string.equals("a")){
                iterator.remove();
            }
        }
        System.out.println(list);
    }
}

這是我第一寫博客  希望大家互相交流  有什麼問題大家給我提出來 謝謝

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved