10、Collections-sort
集合框架的工具类:Collections
Collections.sort(List);
Collections.sort(List,Comparator);
11、Collections-max
12、Collections-binarySearch
binarySearch(List,T key)
13、替换反转
Collections.fill(List,key);//将集合中的元素全部替换成key
replaceAll(List,oldVal,newVal);
reverse(List);
14、Collections-reverseOrder
返回自然排序方式的逆序
15、Collections-SynList
SynchronizedList(Lits)
swap(List,pos1,pos2);//置换元素
shuffle(list);//把集合中元素,重新随机排列
16、Arrays
用于操作数组的工具类
Arrays.toString(arr);
asList将数组变成List集合
把数组变成List集合的好处:可以使用集合的思想和方法来操作数组
注意:将数组变成集合不可以使用集合的增删方法,因为数组的长度是固定的
如果增删会发生UnsupportOperationException
如果数组中的元素都是对象,那么变成集合时,数组中的元素就直接转成集合中的元素。
如果数组中的元素都是基本数据类型,那么会将该数组作为集合中的元素存在。
17、集合转换成数组
Collection接口中的toArray方法
(1)指定类型的数组到底要定义多长呢?
当指定类型的数组长度小于了集合的size,那么该方法内部会创建一个新的数组,长度为集合的size
当指定类型的数组长度大于了集合的size,就不会新创建数组而是使用传递进来的数组。所以创建一个刚刚好的数组最优.
String[] arr=al.toArray(new String[al.size()]);
(2)为什么要将集合变数组?
为了限定对元素的操作。不需要进行增删了
18、增强for循环
格式:
for(数据类型 变量名 :被遍历的集合(Collection)或者数组)
对集合进行遍历,只能获取元素,但是不能对集合进行操作
迭代器除了遍历,还可以进行remove集合中元素的动作。
如果使用ListIterator,还可以再遍历过程中对集合进行增删改查的动作
传统for和高级for有什么区别呢?
高级for有一个局限性,必须有被遍历的目标
建议在遍历数组的时候,希望使用传统for,因为传统for可以定义角标
19、jdk1.5版本出现的新特性(可变参数)
public static void show(int... arr)
可变参数不用每一次都手动地建立数组对象,只要将要操作的元素最为参数传递即可。隐式将这些参数封装成了数组
方法的可变参数在使用时,可变参数一定要定义在参数列表的最后面
20、静态导入
staticImport
当类名重名时,需要制定具体的包名
当方法重名时,要指定具体所属的对象或者类
import java.lang.System.*;//导入了System类中所有静态成员
import static java.util.Arrays.*;//导入的是Arrays这个类中的所有静态成员