-
陣列和列表不能混合,只有元組可以; 在 Scala 及以上版本中,這三個元素都可以混合成不同的型別,成為任意型別),但是當使用混合型別時,array 和 list 會將元素型別轉換為任意型別,而元組則保留每個元素的初始型別;
關於陣列、列表、元組
關於初始化。
1) val array= new array[string](3) array(null, null, null) 等價於宣告了 3 個 null 值的空元素。
val array= array("a","b","c","d") //
等效。 "a","b","c","d")
定義乙個陣列:
val aa = array[any](1, 2) 或: val aa: array[any] = array(1, 2) 或:
val aa: array[_]= array(1, 2)
2) val list: list[int] = list(1,3,4,5,6) 或 val list = list(1,3,4,5,6)。
:實現覆蓋列表,(:cons:將新元素組合到列表的前端。 使用 :: 合併元素,並使用 ::: 示例如下: 其中 nil 代表空元素。
val list2 = "a"::"b"::"c"::nil nil 是必須的。
val list4 = list2:::list3
3)元組也是不可變的,但元組可以是不同型別的資料,例項化:var a = (,元素可以通過點、下劃線、-n(n 從 1 開始)的索引來訪問。
-
在 Scala 中,陣列和列表都不能混合型別,只有元組可以; 在 Scala 及更高版本中,所有三個元素都可以與不同的型別混合(轉換為任意型別),但前提是使用混合型別。
-
區別很大,首先元組是不能修改的,然後python裡面滿是物件,內建的方法和屬性很多,比c陣列靈活多了。
-
list 和 arraylist 的區別在於:
1.在程式語言中,arraylist類是。 .NET Framework 提供的用於資料儲存和檢索的專用類。 列表類可以簡單地看作是乙個雙向序列連線,它管理線性列中的物件集合。
list 類是 arraylist 類的泛型等效類。
2. ArrayList 繼承了 ilist 介面,因此可以方便地用於新增、插入和刪除資料。 List 的大部分用法類似於 ArrayList,List 類也繼承了 iList 介面。
3.可以在陣列列表中插入不同型別的資料。 arraylist 將插入其中的所有資料視為乙個物件,這涉及到打包和解箱,這會導致系統效能損失。 另一方面,列表需要宣告其資料的物件型別。
如果在宣告後插入其他型別的資料,IDE 將報告錯誤,並且不會通過編譯。
4. 當使用arraylist中的資料來處理問題時,很可能會報乙個型別不匹配的錯誤,即arraylist不是型別安全的。 該列表宣告了其資料的物件型別,該型別是安全的,避免了型別安全問題以及打包和拆箱的效能問題。
5. 可以構造 listarray。 無法構造列表,但可以為列表建立引用。
-
陣列和列表都屬於順序表。
陣列是一種連續儲存結構。
int i=new int[3]
i 實際上記錄了陣列的第乙個位址,而 i[1] 實際上相當於在 i 的位址上加乙個整數位址偏移量,然後取這個位址的值。
也就是說,當我們要找到第 100 個節點時,他仍然需要從第乙個節點到 list[99] 節點進行 99 次後續操作。