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);
}
}

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