亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java集合與數組區(qū)別簡介及相互轉換實例

 更新時間:2018年01月08日 11:32:06   作者:annie-baby  
這篇文章主要介紹了Java集合與數組區(qū)別簡介及相互轉換實例,具有一定借鑒價值,需要的朋友可以參考下

數組Array和集合的區(qū)別:

(1)數組是大小固定的,并且同一個數組只能存放類型一樣的數據(基本類型/引用類型)

(2)JAVA集合可以存儲和操作數目不固定的一組數據。(3)若程序時不知道究竟需要多少對象,需要在空間不足時自動擴增容量,則需要使用容器類庫,array不適用。

聯(lián)系:使用相應的toArray()和Arrays.asList()方法可以回想轉換。

List和ArrayList的區(qū)別

1.List是接口,List特性就是有序,會確保以一定的順序保存元素.

ArrayList是它的實現(xiàn)類,是一個用數組實現(xiàn)的List.

Map是接口,Map特性就是根據一個對象查找對象.

HashMap是它的實現(xiàn)類,HashMap用hash表實現(xiàn)的Map,就是利用對象的hashcode(hashcode()是Object的方法)進行快速散列查找.(關于散列查找,可以參看<<數據結構>>)

2.一般情況下,如果沒有必要,推薦代碼只同List,Map接口打交道.

比如:Listlist=newArrayList();

這樣做的原因是list就相當于是一個泛型的實現(xiàn),如果想改變list的類型,只需要:

Listlist=newLinkedList();//LinkedList也是List的實現(xiàn)類,也是ArrayList的兄弟類

這樣,就不需要修改其它代碼,這就是接口編程的優(yōu)雅之處.

另外的例子就是,在類的方法中,如下聲明:

privatevoiddoMyAction(Listlist){}

這樣這個方法能處理所有實現(xiàn)了List接口的類,一定程度上實現(xiàn)了泛型函數.

3.如果開發(fā)的時候覺得ArrayList,HashMap的性能不能滿足你的需要,可以通過實現(xiàn)List,Map(或者Collection)來定制你的自定義類.

List,Set轉換為數組的方法

toArray函數有兩種形式,一種無參數,一種帶參數,注意帶參數形式中,要指明數組的大小。

程序代碼:

public void convertCollectionToArray() {
	List list = new ArrayList();
	Object[] objectArray1 = list.toArray();
	String[] array1 = list.toArray(new String[list.size()]);
	Set set = new HashSet();
	Object[] objectArray2 = set.toArray();
	String[] array2 = set.toArray(new String[set.size()]);
}

反過來,數組轉換為List,Set。

Integer[] numbers = {7, 7, 8, 9, 10, 8, 8, 9, 6, 5, 4};
 // To convert an array into a Set first we convert it to a List. Next
 // with the list we create a HashSet and pass the list as the constructor.
 List list = Arrays.asList(numbers);
 Set set = new HashSet(list);

注意:對于int[]數組不能直接這樣做,因為asList()方法的參數必須是對象。應該先把int[]轉化為Integer[]。對于其他primitive類型的數組也是如此,必須先轉換成相應的wrapper類型數組。

 int[] numbers = {7, 7, 8, 9, 10, 8, 8, 9, 6, 5, 4};
 int size = numbers.length;
 Integer[] array = new Integer[size];
 for (int i = 0; i < numbers.length; i++) {
 Integer integer = numbers[i];
 array[i] = integer;
 }
 List list = Arrays.asList(array);

總結

以上就是本文關于Java集合與數組區(qū)別簡介及相互轉換實例的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:

Java控制臺輸入數組并逆序輸出的方法實例

Java數組的擴容代碼示例

java數組基礎詳解

如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

相關文章

  • SpringCloud實現(xiàn)灰度發(fā)布的方法步驟

    SpringCloud實現(xiàn)灰度發(fā)布的方法步驟

    本文主要介紹了SpringCloud實現(xiàn)灰度發(fā)布的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-05-05
  • SpringBoot整合WebSocket的客戶端和服務端的實現(xiàn)代碼

    SpringBoot整合WebSocket的客戶端和服務端的實現(xiàn)代碼

    這篇文章主要介紹了SpringBoot整合WebSocket的客戶端和服務端的實現(xiàn),本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • Java原生HttpClient的使用詳解

    Java原生HttpClient的使用詳解

    Java開發(fā)語言中實現(xiàn)HTTP請求的方法主要有兩種:一種是JAVA的標準類HttpUrlConnection,比較原生的實現(xiàn)方法;另一種是第三方開源框架HTTPClient。本文就將詳細講講Java中原生HttpClient的使用,需要的可以參考一下
    2022-04-04
  • 完美解決Eclipse導入的項目上有個紅叉,但不影響項目運行的問題

    完美解決Eclipse導入的項目上有個紅叉,但不影響項目運行的問題

    這篇文章主要介紹了完美解決Eclipse導入的項目上有個紅叉,但不影響項目運行的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • Java中的Lambda表達式詳解

    Java中的Lambda表達式詳解

    這篇文章主要介紹了Java中的Lambda表達式詳解,Lambda 表達式是 JDK8 的一個新特性,可以取代大部分的匿名內部類,寫出更優(yōu)雅的 Java 代碼,尤其在集合的遍歷和其他集合操作中,可以極大地優(yōu)化代碼結構,需要的朋友可以參考下
    2024-01-01
  • 解決Druid動態(tài)數據源配置重復刷錯誤日志的問題

    解決Druid動態(tài)數據源配置重復刷錯誤日志的問題

    使用druid數據庫連接池實現(xiàn)動態(tài)的配置數據源功能,在配置過程中出現(xiàn)一個問題既然是用戶自己配置的數據源,就無法避免輸入錯誤,連接失敗等情況,關于這個問題怎么處理呢,今天小編通過本文給大家詳細說明下,感興趣的朋友一起看看吧
    2021-05-05
  • SpringBoot項目配置postgresql數據庫完整步驟(配置多數據源)

    SpringBoot項目配置postgresql數據庫完整步驟(配置多數據源)

    PostgreSQL是一種特性非常齊全的自由軟件的對象-關系型數據庫管理系統(tǒng)(ORDBMS),下面這篇文章主要給大家介紹了關于SpringBoot項目配置postgresql數據庫(配置多數據源)的相關資料,需要的朋友可以參考下
    2023-05-05
  • 淺談Java泛型讓聲明方法返回子類型的方法

    淺談Java泛型讓聲明方法返回子類型的方法

    下面小編就為大家?guī)硪黄獪\談Java泛型讓聲明方法返回子類型的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • Spring Boot集成MyBatis實現(xiàn)通用Mapper的配置及使用

    Spring Boot集成MyBatis實現(xiàn)通用Mapper的配置及使用

    關于MyBatis,大部分人都很熟悉。MyBatis 是一款優(yōu)秀的持久層框架,它支持定制化 SQL、存儲過程以及高級映射。這篇文章主要介紹了Spring Boot集成MyBatis實現(xiàn)通用Mapper,需要的朋友可以參考下
    2018-08-08
  • mybatis如何通過接口查找對應的mapper.xml及方法執(zhí)行詳解

    mybatis如何通過接口查找對應的mapper.xml及方法執(zhí)行詳解

    這篇文章主要給大家介紹了利用mybatis如何通過接口查找對應的mapper.xml及方法執(zhí)行的相關資料,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面跟著小編一起來學習學習吧。
    2017-06-06

最新評論