9 5 5 集合和陣列的相互轉化

2021-09-28 05:50:21 字數 1108 閱讀 6233

arrays.aslist可以將陣列轉化為集合:

string[

] values =..

.;hashset

staff =

newhashset

<

>

(arrays.

aslist

(values)

);

從集合中獲得陣列更難一些。你可以使用toarray方法:

object[

] values = staff.

toarray()

;

但是這個方法返回值是object陣列。即使原來的集合含有string型別的元素,你仍然不能使用cast:

string[

] values =

(string[

])staff.

toarray()

;// error!

toarray方法返回的陣列元素在建立陣列的時候便已經指定為object型別,你不能更改它的型別。替代方案是採用toarray方法的過載形式,它接收乙個具有型別的長度為0的陣列作為引數。返回的陣列與這個引數陣列是同型別的:

string[

] values = staff.

toarray

(new

string[0

]);

這時候會新建乙個新陣列,用集合中的元素填充後返回這個陣列。

你也可以使用具有初始長度的陣列作為引數:

staff.

toarray

(new

string

[staff.

size()

]);

這種情況下不需要建立新陣列(因為引數陣列就可以容納集合中的元素,所以直接返回引數陣列)

note

為什麼不直接傳遞乙個class物件給toarray呢,比如string.class。

這是因為這個方法有雙重功能,既可以建立乙個新陣列來使用,還可以使用已有陣列(如果這個陣列足夠長)。

PHP 物件和陣列的相互轉化

物件和陣列的相互轉化在開發中也是很常見,一般不是多維的情況下直接 array 和 object 就可搞定了,多維的話,遍歷下也就可以了 php 物件和陣列的相互轉化 link php分享平台 class test 物件轉陣列,使用get object vars返回物件屬性組成的陣列 function...

44 集合和陣列的區別

1.陣列 定義 儲存一種資料型別的集合容器 陣列的特點 1.只能儲存一種資料型別的資料 2.陣列一但初始化長度就固定了 3.陣列中的元素於元素之間的記憶體位址是連續的 注意 object型別的陣列可以儲存任意型別的資料 2.集合 定義 集合是儲存物件資料的集合容器。集合相比陣列的優勢 1.集合可以儲...

陣列和集合的相互轉換

陣列和集合的相互轉換 陣列轉集合 string a list list arrays.aslist a 唯讀不可寫 system.out.println list arraylist list1 newarraylist list 可讀可寫 list1.add ddd system.out.prin...