黑马程序员--数组与集合互相转变
生活随笔
收集整理的這篇文章主要介紹了
黑马程序员--数组与集合互相转变
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
--------- android培訓、java培訓、期待與您交流! ---------
7 數組與集合的相互轉變
7.1 數組轉變成集合
1,為什么把數組轉變成集合呢?有什么好處呢?
?
數組轉變成集合后,就可以使用集合的思想和方法來操作數組中的元素。
?
??注意:將數組變成集合,不可以使用集合的增刪方法。
??因為數組的長度是固定。
但是下面用這些集合的方法就很容易操作數組了
??contains(),查詢是否包含某元素
??get(),取得數組中的元素,而不再用for循環去遍歷取得
??indexOf(),查詢該元素的索引
??subList();是否包含某一字串
?
??如果你增刪。那么會反生UnsupportedOperationException,
?
2,數組轉變集合時,數組中元素在集合中是什么成分
- ? 如果數組中的元素都是對象。那么變成集合時,數組中的元素就直接轉成集合中的元素。
- ??如果數組中的元素都是基本數據類型,那么會將該數組作為集合中的元素存在。
3,數組轉變成集合的方法
Arrays:用于操作數組的工具類。
里面都是靜態方法。
asList():把數組轉變成集合
現舉例如下:
?
數組轉變成集合 1 import java.util.*; 2 class ArraysDemo 3 { 4 public static void main(String[] args) 5 { 6 // int[] arr = {2,4,5}; 7 // System.out.println(Arrays.toString(arr)); 8 9 10 String[] arr = {"abc","cc","kkkk"}; 11 12 //把數組轉變成集合 13 List<String> list = Arrays.asList(arr); 14 //sop("contains:"+list.contains("cc"));//判斷是否包含某個元素,直接調用list中的contains()方法 15 //list.add("qq");//UnsupportedOperationException, 16 17 //sop(list); 18 //數組中元素是基本數據元素和數組中元素是對象轉變成集合的區別 19 //int[] nums = {2,4,5}; 20 Integer[] nums = {2,4,5}; 21 22 23 List<Integer> li = Arrays.asList(nums); 24 25 sop(li); 26 27 } 28 //傳統判斷數組中是否包含某一元素的方法,要寫一方法判斷麻煩 29 public static boolean myContains(String[] arr,String key) 30 { 31 for(int x=0;x<arr.length; x++) 32 { 33 if(arr[x].equals(key)) 34 return true; 35 } 36 return false; 37 } 38 39 public static void sop(Object obj) 40 { 41 System.out.println(obj); 42 } 43 44 }?
7.2??集合轉變成數組
1,為什么要將集合變數組?
??為了限定對元素的操作。不需要進行增刪了。
2,定義數組的時候要指定數組的長度,那么怎樣定義呢?
- 當指定類型的數組長度小于了集合的size,那么該方法內部會創建一個新的數組。長度為集合的size。??
- 當指定類型的數組長度大于了集合的size,就不會新創建了數組。而是使用傳遞進來的數組。
- 所以創建一個剛剛好的數組最優,即數組長度等于集合的size。
3,集合變成數組的方法
用的是Collection接口中的toArray方法。
?
舉例如下:
?
集合變成數組 1 import java.util.*; 2 class CollectionToArray 3 { 4 public static void main(String[] args) 5 { 6 ArrayList<String> al = new ArrayList<String>(); 7 8 al.add("abc1"); 9 al.add("abc2"); 10 al.add("abc3"); 11 //集合變成數組,數組的長度等于集合的長度 12 String[] arr = al.toArray(new String[al.size()]); 13 14 System.out.println(Arrays.toString(arr)); 15 16 } 17 }?
?
?
?
?
--------- android培訓、java培訓、期待與您交流! ----------
?
詳細請查看:http://edu.csdn.net/heima/
?
轉載于:https://www.cnblogs.com/win5689/archive/2012/08/06/2625420.html
總結
以上是生活随笔為你收集整理的黑马程序员--数组与集合互相转变的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阿拉伯人上坟吗?
- 下一篇: 四、物理数据模型PDM(Physical