陣列轉不同型別的集合

2021-08-29 09:35:24 字數 1563 閱讀 7249

//定義字串

string str = "1,3,6,9,4,2,1,6";

//擷取字串

string strarr = str.split(",");

//轉換long型別的陣列

long strarrnum = (long) convertutils.convert(idsarr,long.class);

陣列轉list

string staffs = new string;

list staffslist = arrays.aslist(staffs);

需要注意的是, arrays.aslist() 返回乙個受指定陣列決定的固定大小的列表。所以不能做 add 、 remove 等操作,否則會報錯。

list staffslist = arrays.aslist(staffs);

staffslist.add("mary"); // unsupportedoperationexception

staffslist.remove(0); // unsupportedoperationexception

如果想再做增刪操作呢?將陣列中的元素乙個乙個新增到列表,這樣列表的長度就不固定了,可以進行增刪操作。

list staffslist = new arraylist();

for(string temp: staffs)

staffslist.add("mary"); // ok

staffslist.remove(0); // ok

陣列轉set

string staffs = new string;

setstaffsset = new hashset<>(arrays.aslist(staffs));

staffsset.add("mary"); // ok

staffsset.remove("tom"); // ok

list轉陣列

string staffs = new string;

list staffslist = arrays.aslist(staffs);

object result = staffslist.toarray();

list轉set

string staffs = new string;

list staffslist = arrays.aslist(staffs);

set result = new hashset(staffslist);

set轉陣列

string staffs = new string;

setstaffsset = new hashset<>(arrays.aslist(staffs));

object result = staffsset.toarray();

set轉list

string staffs = new string;

setstaffsset = new hashset<>(arrays.aslist(staffs));

listresult = new arraylist<>(staffsset);

不同型別陣列之間的資料拷貝

工作中,需要將乙個float型別的陣列整體copy到乙個double型別的陣列中。很顯然,memcpy是不行的,因為float和double占用的位元組數不一樣。本來打算用for迴圈乙個乙個元素賦值,但這方法肯定特慢,效率差。不死心,查一查,原來std copy能夠搞定這個問題。舉例說明 doubl...

不同型別語言

編譯型和解釋型的區別 先來看看編譯型語言定義 編譯型語言首先是將源 編譯生成機器指令,再由機器執行機器碼 二進位制 再來看看解釋型語言的定義 解釋型語言的源 不是直接翻譯成機器指令,而是先翻譯成中間 再由直譯器對中間 進行解釋執行。咋看一眼,還是一臉懵逼。下面打個比方 動態語言和靜態語言 我們常說的...

不同型別的檔案

cpp檔案 cpp是用c 語言編寫的源 檔案的字尾 具體實現 h檔案 h是c語言和c 語言的標頭檔案 函式宣告,巨集定義,函式原型 pde檔案 一共有4種可能,分別為 1 powerdesk encrypted file 2 pathology data exchange file 3 afp pa...