java集合-ArrayList學習筆記

集合和數組關係?java

 

1)     集合是一種容器,能夠存儲多個數據.數組

2)     數組的長度是固定的,集合的長度是可變的.併發

3)     集合中存儲的元素必須爲引用類型數據,初始值爲NULLide

ArrayList集合類spa

ArrayList<E>集合:大小可變數組的實現設計

  <E>:是一種特殊的數據類型,泛型(泛型,用來將數據類型,做爲參數進行傳遞.)對象

  在出現 E 的地方咱們使用引用數據類型替換便可索引

   舉例:ArrayList<String>,ArrayList<Student>接口

 

構造方法: ArrayList()element

成員方法:

l   public booleanadd(E e):添加元素

l   public voidadd(int index,E element):在指定的索引處添加元素

集合元素增刪改查舉例:

import java.util.ArrayList;

publicclass demo_11 {

       publicstaticvoid main(String[] args) {

              ArrayList<String>list = new ArrayList<String>();

              // 添加元素:

              list.add("hello");// 添加helloworld

              list.add("world");

              // 獲取元素

              list.get(0); // 獲取第1個元素

              // 集合的長度(元素個數)

              list.size(); // 獲取元素個數

              // 刪除元素

              list.remove(1);// 刪除第二個元素world

              // 修改元素

              list.set(0, "modify"); // 將hello改成modify;

              System.out.println(list); // 輸出結果爲modify

               //遍歷獲取每個元素最標準的用法

              for(inti=0;i<list.size();i++){

                      String s =list.get(i);

                      System.out.println(s);   

              }

       }

}

集合元素功能方法:

1)     判斷比較

 s1.equals(s2)  比較字符串的內容是否相同

 s1equalsIgnoreCase(String s2):比較字符串的內容是否相同,忽略大小寫

 s1 startsWith(Stringstr):判斷字符串對象是否以指定的 str 開頭

 s1  endsWith(String str):判斷字符串對象是否以指定的 str 結尾

獲取功能方法

 int length():獲取字符串的長度,其實也就是字符個數

 char charAt(int index):獲取指定索引處的字符

 int indexOf(String str):獲取 str 在字符串對象中第一次出現的索引,沒有返回-1

 String substring(int start):從 start 開始截取字符串到字符串結尾

 String substring(int start,intend):從 start 開始,到 end 結束截取字符串;包括 start,不包括 end

轉換功能方法

 char[] toCharArray():把字符串轉換爲字符數組

                     String s = "abcde";//定義一個字符串

                         char[] chs =  s.toCharArray();   //字符串轉換爲字符數組

       System.out.println(chs[2]);

 String toLowerCase():把字符串轉換爲小寫字符串

 String toUpperCase():把字符串轉換爲大寫字符串

String[] split(String str)按照指定符號分割字符串

 

Iterator迭代器

l   集合的iterator方法,因此單列集合實現類均有該方法

l   iterator方法的返回值類型Iterator接口類型

l   Iterator接口的兩個方法:hasNext與next方法

注意:在使用迭代過程當中不要爲集合添加/刪除數據,防止併發異常.

三種方法遍歷: 普通for 循環,迭代器,以及增強for循環遍歷

 

 

 

泛型

 

1.     含有泛型的類:

1)     定義格式:修飾符 class 類名<表明泛型的變量> {  }

2)     使用格式:建立對象時,肯定泛型的類型

2.     含有泛型的方法:

1)     定義格式:修飾符 <表明泛型的變量> 返回值類型方法名(參數){  }

2)     使用格式:調用方法時,肯定泛型的類型

3.     含有泛型的接口:

1)     定義格式:修飾符 interface接口名<表明泛型的變量> {  }

使用格式:

2)     定義類時肯定泛型的類型

3)     始終不肯定泛型的類型,直到建立對象時,肯定泛型的類型

使用泛型的好處

l  將運行時期的ClassCastException,轉移到了編譯時期變成了編譯失敗

l  避免了類型強轉的麻煩

 

 

 

ArrayList 不是惟一的集合:

ü  TreeSet 以有序狀態保持並能夠防止重複

ü  HashMap 能夠成對的name/value來保存與取出

ü  LinkedList 針對常常插入或者刪除元素所設計的高效率集合

ü  HashSet 防止重複的集合,能夠快速找尋相符的元素.

ü  LinkedHashMap能夠記住元素插入順序,也能夠設定成依照上次元素存儲的前後順序

相關文章
相關標籤/搜索