我有一個小問題,關於如何創建未知大小的陣列。 我想最好的方法是使用java.util.ArrayList;我的問題是,有什麼區別:未知大小的陣列
ArrayList client_Catalog = new ArrayList<>();
而且
List<> list = new ArrayList<>();
順便說一下我的節目我試圖創建一個空的列表,其中我要去商店的客戶信息,所以,對象我不知道最後的大小。
我有一個小問題,關於如何創建未知大小的陣列。 我想最好的方法是使用java.util.ArrayList;我的問題是,有什麼區別:未知大小的陣列
ArrayList client_Catalog = new ArrayList<>();
而且
List<> list = new ArrayList<>();
順便說一下我的節目我試圖創建一個空的列表,其中我要去商店的客戶信息,所以,對象我不知道最後的大小。
沒有長度未知的數組。你可以有一個固定長度的數組或一個靈活大小的List
。
側此言
請記住,String[]
可以容納任何大小的字符串和數組是可以改變的數組的引用,但你不能追加它。您只能將以前的內容複製到較大的陣列,然後填寫剩下的地方。
List
是Interface。 ArrayList
是它的一個實現。
ArrayList client_Catalog = new ArrayList<>();
說:讓client_Catalog
是ArrayList
,讓它爲空第一。在另一方面,你必須:
List<> list = new ArrayList<>();
它說讓list
是List
的任何實現。它可以是ArrayList
,LinkedList
或任何實現它。您唯一保證的是該項目將具有來自List
界面的所有方法。
現在該如何處理仿製藥。 List
是generic
。有一天,有人認爲沒有理由對每種數據類型實施List
,並決定引入泛型。你必須聲明這個列表是什麼類型。這是用那些<>
括號完成的。
例如,創建String
的ArrayList
是你寫的:
ArrayList<String> myList = new ArrayList<>();
由於它只是一個Q &一個區域,我不會教你的一切,但我的回答有大約列出了一些基本知識。我還決定鏈接一些官方教程和文檔,以幫助您學習。以防萬一您希望我擴展某些內容,請在評論中提問。
任何選項都可以滿足您的要求。 最好使用List接口作爲方法的返回類型。在這種情況下,它將抽象出列表的實際實現,即該方法的調用者不需要知道實際的實現。
之間
ArrayList client_Catalog = new ArrayList<>();
和
List<> list = new ArrayList<>();
會不會有沒有任何區別。兩者都會按照你的習慣和工作方式進行。唯一的區別是在第二個例子中,不僅可以有ArrayList
。但也例如LinkedList
或實現List interface的其他對象。
我會在你的情況下,選擇上面,以確保它始終是一個ArrayList
如果你想依靠它100%。
對於初學者來說,既不能編譯......但是你會在看「什麼是原始類型,爲什麼我們應該避免它」以及「編程接口」中找到安慰。 – Makoto
這兩行之間的區別與創建未知大小的數組有什麼關係? – user2357112