日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ArrayList与数组

發布時間:2023/12/20 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ArrayList与数组 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ArrayList作用

眾所周知,一旦確定了數組的大小,改變它就不容易了。不過ArrayList類就可以解決動態更改數組大小的問題。ArrayList使用起來有點像數組,但是在添加和刪除元素時,具有自動調節數組容量的功能,而不需為此編寫任何代碼。

ArrayList管理著對象引用的一個內部數組。最終,數組的全部空間有可能被用盡。這就顯現出ArrayList的操作的優勢所在:如果調用add方法但是內部數組已經滿了,ArrayList就將自動地創建一個更大的數組,并將所有的對象從較小的數組中拷貝到較大的數組中。


ArrayList的容量與數組的大小的區別

如果為數組分配100元素的存儲空間,數組就有100個空位置可以使用,但是容量是100的ArrayList只是擁有保存100個元素的潛力(實際上,重新分配空間的話,將會超過100),但是在最初,甚至完成初始化構造之后,ArrayList根本就不含有任何元素。

eg:

package com.myself.test;import java.util.ArrayList;public class Mytest {public static void main(String[] args) {ArrayList<String> array = new ArrayList(100);System.out.println("ArrayList的容量:"+array.size());String[] s = new String[100];System.out.println("數組的長度:"+s.length);for(int i=0;i<150;i++){//當向ArrayList中添加大于ArrayList初始化定義的容量的元素個數array.add("zhangyaohui");}System.out.println("ArrayList的容量:"+array.size());for(int i=0;i<150;i++){//當向數組中添加大于數組初始化定義的大小的元素個數s[i] = "zhangyaohui";}}} 結果:




ArrayList的方法:

1.構造方法:

ArrayList<T> : 構造一個空數組列表

ArrayList<T>(int initialCapacity): 用指定容量構造一個空數組列表 ? ? ? ? 參數: initialCapacity 數組列表的最初容量

2.常用方法:

size(): ?返回存儲在數組列表中的當前元素數量。

ensureCapacity(int capacity): ?確保數組列表在不重新分配存儲空間的情況下就能夠保存給定數量的元素。 ? ?參數:capacity ?需要的存儲容量

trimToSize(): ? 將數組列表的存儲容量消減到當前尺寸。

set(int index,T obj): ? 設置數組列表指定位置的元素值,這個操作將覆蓋這個位置的原有內容。

get(int index): ? 獲得指定位置的元素值。

add(T obj): ?在數組列表的尾端添加一個元素。

add(int index,T obj): 向后移動元素,以便插入元素。

remove(int index): 刪除一個元素,并將后面的元素向前移動。被刪除的元素又返回值返回。



ArrayList的缺點:

ArrayList自動擴展容量的便利增加了訪問元素語法的復雜程度。



既可以靈活的擴展數組,又可以方便地訪問數組元素的方法:(實際上就是通過ArrayList與數組之間的轉換實現的)

package com.myself.test;import java.util.ArrayList;public class Mytest {public static void main(String[] args) {ArrayList<String> array = new ArrayList();for(int i=0;i<6;i++){//當向ArrayList中添加大于ArrayList初始化定義的容量的元素個數array.add("zhangyaohui");}String[] s = new String[array.size()];//初始化一個跟ArrayList的容量大小一致的數組array.toArray(s);//將ArrayList轉換成數組for(String a:s){//遍歷數組System.out.println(a);}}} 結果:


注意:

對數組實施插入和刪除元素的從操作其效率比較低。對于小型數組來說,這一點不必擔心。但如果數組存儲的元素數比較多,又經常需要在中間位置插入、刪除元素,就應該考慮使用鏈表了。




總結

以上是生活随笔為你收集整理的ArrayList与数组的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。