一、List簡介
List是Java集合中最常用的一種數據結構之一,用於存儲一組有序的元素。List中的元素可以重複,且可以插入null值。
在Java中,List介面有多種不同的實現類,如ArrayList、LinkedList、Vector等。針對不同的場景,我們可以選擇不同的實現類。
將數組轉換成List可以方便我們進行集合操作,如遍歷、搜索、刪除等操作。
二、Java數組轉換成List方法
使用Java自帶的Arrays.asList()方法,可以將數組轉換成List。
// 假設有一個數組 String[] arr = {"apple", "banana", "orange"}; // 將數組轉換成List List list = Arrays.asList(arr);
上面的代碼將String類型的數組arr轉換成了List,賦值給了變數list。
三、List的元素個數和底層數組
從Java 1.5版本開始,Arrays.asList()方法可以接收多個參數,而不僅僅是一個數組。
// 假設有兩個數組 String[] arr1 = {"apple", "banana", "orange"}; String[] arr2 = {"peach", "grape"}; // 將兩個數組轉換成List List list = Arrays.asList(arr1, arr2);
上面的代碼將兩個數組合併成了一個List,賦值給了變數list。這時候我們需要注意一個細節問題,就是由於Arrays.asList()方法底層實際上是將數組作為List的表示形式,因此我們不能修改List的大小,否則會拋出UnsupportedOperationException異常。
在實際開發中,為了避免這個問題,我們可以使用ArrayList等其他實現類來代替Arrays.asList()方法返回的List。
從List的底層實現上來看,ArrayList是基於動態數組實現的,而LinkedList是基於雙向鏈表實現的。因此,對於頻繁的插入和刪除操作,LinkedList可能更加高效一些。而對於隨機訪問元素的操作,ArrayList則更快。
四、List中的元素類型
在轉換數組成List的過程中,如果數組中的元素是基本類型,例如int、double等,那麼轉換後的List中元素的類型會變成對應的包裝類,例如Integer、Double等。
// 假設有一個int類型的數組 int[] arr = {1, 2, 3}; // 將數組轉換成List List list = Arrays.asList(arr);
上面的代碼中,由於原數組arr中的元素是int類型,因此轉換後的List中的元素類型為Integer。
五、List的遍歷
通過Java增強for循環,可以方便地遍歷List中的元素。
List list = Arrays.asList("apple", "banana", "orange"); for (String item : list) { System.out.println(item); }
上面的代碼會輸出List中的所有元素:
apple banana orange
六、List的搜索和刪除
使用Java自帶的indexOf()方法可以在List中查找元素。如果找到了,會返回該元素第一次出現的位置。如果沒有找到,返回-1。
List list = Arrays.asList("apple", "banana", "orange"); int index = list.indexOf("banana"); if (index != -1) { System.out.println("找到了,位置在:" + index); } else { System.out.println("沒找到"); }
上面的代碼會輸出:
找到了,位置在:1
使用Java自帶的remove()方法可以在List中刪除指定元素。如果刪除成功,返回true;如果刪除失敗(即List中不存在該元素),返回false。
List list = new ArrayList(Arrays.asList("apple", "banana", "orange")); boolean result = list.remove("banana"); if (result) { System.out.println("刪除成功"); } else { System.out.println("刪除失敗"); }
上面的代碼會輸出:
刪除成功
七、List和數組互相轉換
除了將數組轉換成List,我們還可以將List轉換成數組。
使用List自帶的toArray()方法,可以將List轉換成數組。
List list = Arrays.asList("apple", "banana", "orange"); String[] arr = list.toArray(new String[0]); System.out.println(Arrays.toString(arr));
使用Arrays自帶的asList()方法,可以將數組轉換成List。
String[] arr = {"apple", "banana", "orange"}; List list = new ArrayList(Arrays.asList(arr)); System.out.println(list);
八、結語
本文主要介紹了Java數組轉換成List的方法以及List的相關操作,如遍歷、搜索、刪除等。在實際開發中,我們可以靈活選擇不同的List實現類來滿足不同的需求。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/160700.html