2009-10-12 199 views

回答

10

數組是一種高性能的存儲具有相同類型數據組的方法,因爲每個元素都放在內存中的鄰居旁邊。這允許非常快速的訪問,因爲(a)代碼可以做一些小算術並快速跳到數組中的任何位置,以及(b)所有元素都被分組在一起,因此它們傾向於同時在內存中頁面錯誤和緩存未命中)。在.NET中的數組實際上是一個類(System.Array),但它是.NET引擎(CLR)很好理解的特殊類型。正因爲如此,您可以使用標準數組訪問表示法(文本語言),如 foo [3] = 99;

ArrayList,但是,你正在處理一個集合。 .NET中有幾種類型的集合(請參閱System.Collections和System.Collections.Specialized命名空間),但關鍵在於它們支持的接口(IEnumerable,ICollections,IList等)。如果你看一下這些接口的定義,你會發現集合都是關於將事物分組在一起並提供訪問它們的方法。然而,使用ArrayList,如果添加一個元素而不是內部數組可以處理的數組,ArrayList會自動創建一個更大的數組並將舊數組複製到新數組中。

+0

謝謝你先生arsenMkrt – 2009-10-12 05:31:29

0

這是否適合Java?那麼,我讀的地方 1. ArrayList是一個集合數據類型,它需要價值/密鑰對。您需要使用.Add屬性將值添加到arraylist集合中。您可以使用密鑰訪問數組列表。 2.數組是可以使用索引訪問的數據類型。

+0

是asp.net Java語言支持? :)他用asp.net標記了這個問題 – 2009-10-12 04:51:47

+0

很可能應該被重新綁定到一個特定的.NET語言,而不是ASP.NET – 2009-10-12 04:54:12

+0

它被實現爲.net而不是java – 2009-10-12 05:00:12

1

array:類似數據類型的元素,大小有限。 arraylist:是一個能夠保存 不同的數據類型的對象的集合,並且是可增長的。

0

Array: Array是一個固定長度的數據結構。 在Java中創建後,您無法更改Array的長度。 數組本質上是靜態的。

Object[] objArray = new Object[10]; 

的ArrayList: ArrayList的是可變長度Collection類。 根據容量和負載因數,ArrayList在滿載時會自行重新調整大小。 Arraylist本質上是動態的。

ArrayList<Integer> integerList = new ArrayList<Integer>(); 
0

I,陣列:數組的大小是固定長度的數據結構靜態的,一個人不能創建陣列對象之後改變的長度。 Arraylist:ArrayList的大小是動態的。每個ArrayList對象具有指示ArrayList大小的實例變量容量。隨着元素被添加到ArrayList,其容量會自動增加。 2. 數組:它只能包含Object,而數組既可以包含原始數據類型也可以包含對象。 的ArrayList:ArrayList中不能包含基本數據類型(如整型,浮點,雙) 例如: ArrayList的arraylistobject =新的ArrayList(); arraylistobject.add(23); 3. 陣列:它返回數組的長度的可變長度。 的ArrayList:該ArrayList長度的同時,通過每個陣列對象的尺寸()方法提供的。

+0

你至少應該引用你的來源,當你複製粘貼... – Kikohs 2015-07-20 10:12:48

1

差異與跟隨之間陣列的ArrayList:陣列的實施

  1. 是簡單的固定大小的數組 ArrayList中的實現是動態大小的數組。
  2. 數組可以包含兩種基本類型和對象 ArrayList中只能包含對象元素
  3. 不能使用泛型與數組沿着但的ArrayList允許我們使用泛型來確保類型安全。
  4. 您可以使用* length *變量來計算數組長度,而size()方法來計算ArrayList的大小。
  5. 陣列使用賦值運算符來存儲元素 ArrayList的使用*的add()*插入元素。