java集合(工具類Arrays)

/*
 * Arrays:用於操作數組的工具類,裏面都是靜態方法。


 * toString方法:返回指定數組內容的字符串表示形式。


 * asList方法:返回一個受指定數組支持的固定大小的列表


 * toArray方法:將集合變成數組。

 */
import java.applet.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class CollectionsDemo3 {
public static void main(String[] args) {
/*int arr[]={2,4,5};
sop(Arrays.toString(arr));
String[] arr1={"abc","cc","kkk"};
/*
* 將數組變成集合,可以用集合的方法操作數組。
* 但是不可以使用集合的增刪方法,因爲數組的長度是不同的。
* 會發生不支持操作異常。
 
List<String> list=Arrays.asList(arr1);
sop(list.contains("cc"));
//list.add("rew");
sop(list);*/
/*
* 如果數組中的元素都是對象,那麼變成集合後所有元素都會變成集合中的元素。
* 如果數組中的元素都是基本數據,那麼變成集合後,該數組會變成元素。
*
Integer [] nums={2,4,5};
List li=Arrays.asList(nums);
sop(li);*/

/*
* 集合變成數組。
* 1.當指定的類型的數組長度小於了集合的size,那麼該方法內部會創建一個新的數組,長度爲size。
* 2.當指定的類型的數組大於樂集合的size,就不會創建新數組,而是使用傳遞進來的數組,多餘的數會用null補充。
* 所以創建一個size相等數組最優。
* 爲什麼要將集合變成數組?
* 爲了限定對元素的操作,不需要進行增刪操作。
*/


ArrayList<String> a1=new ArrayList<String>();
a1.add("abc1");
a1.add("abc2");
a1.add("abc3");
String[] arr=a1.toArray(new String[1]);
sop(arr[1]);
sop(Arrays.toString(arr));
}
public static <T> void sop(T t)
{
System.out.println(t);
}
}



import java.util.*;


/*
 * for(String s:a1)
sop(s);

1.5版本出現的新的輸出方法,代替原來的迭代器輸出List集合中的元素,但是不能做任何修改動作。
必須要有遍歷的目標。
 */


public class CollectionsDemo4 {
public static void main(String[] args) {
ArrayList<String> a1=new ArrayList<String>();
a1.add("abc1");
a1.add("abc2");
a1.add("abc3");
for(String s:a1)
sop(s);
HashMap<Integer,String> hm=new HashMap<Integer,String>();
hm.put(1,"a");
hm.put(2,"b");
hm.put(3,"c");
for(Integer i:hm.keySet())
sop(i+"::"+hm.get(i));
for(Map.Entry<Integer,String> me:hm.entrySet())
sop(me+"::"+"--"+me.getKey()+me.getValue());

}
public static <T> void sop(T t)
{
System.out.println(t);
}
}



/*
 * 1.5版本新特性,1.可變參數:
 * 就是一種數組參數的簡寫形式,不用每一次都手動的建立數組對象。
 * 只要將這些要操作元素作爲參數傳遞即可。
 * 隱式將這些參數封裝成了數組。
 * 注意:可變參數一定要定義在參數列表的最後。


 * 2.StaticImport  靜態導入。
 * 當類名重名時,需要指定具體的包名。
 * 當方法名重名時,指定具備所屬的對象或者類。
 */


import java.util.*;//導入util中的所有的類
import static java.lang.System.*;
import static  java.util.Arrays.*;//導入Arrays這個類中所有的靜態成員。
public class CollectionsDemo5 {
public static void main(String[] args) {
//show(2,3,45,5);
int[] arr={3,1,5};
//靜態導入之後,可以省略類名的書寫,簡化代碼
sort(arr);
//
sop(Arrays.toString(arr));
int index=binarySearch(arr, 1);
sop(index);
}
public static void show(int... arr)
{
sop(arr);
}
public static <T> void sop(T t)
{
out.println(t);
}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章