黑马程序员技术交流社区

标题: Collections工具类和Arrays工具类 [打印本页]

作者: 695010894    时间: 2016-4-7 23:49
标题: Collections工具类和Arrays工具类
Collections
        排序        Collections.sort(list)
        最大        Collections.max(list)
        全部替换 Collections.fill(List<T> list, String str)
        反转        Collections.reverseOder()
        随机打乱 Collections.shuffle()
Arrays
        Arrays.toString()
        Arrays.asList(); 将数组变成集合,不可以使用集合的增删方法,因为数组的长度是固定的.
        Arrays.binarySearch();如果数组中元素都是对象,那么变成集合时,数组中的元素就直接转成集合中元素;
                                        如果数组中的元素是基本数据类型,那么        会将该数组作为集合中的元素存在.

集合变数组:
        Collection 接口中的 toArray方法;
1,指定类型的数组到底要定义多长呢?
        当指定类型的数组长度小于集合的size,那么该方法内部会创建一个新数组,长度为集合的size.
如果指定类型的数组长度大雨了集合的size,就不会新创建数组,而是使用传递进来的数组.
所以创建一个刚刚好的数组最优.

2,为什么要将集合边数组?
        为了限定对元素的操作.

高级for循环:
格式:for (数据类型 变量名: 被遍历的集合(Collection)或数组)//for(String s:al)
                {
                }
只能获取集合元素,但是不能对集合进行操作.
而迭代器除了遍历,还可以对集合进行remove操作.
如果是ListIterator,还可以在遍历的过程中对集合进行增删改查动作.

高级for和传统for的区别:
高级for必须有被遍历的目标.

可变参数
        就是上一种数组的简写形式,不用每一次都手动建立数组对象,只要将要操作的元素作为参数传递即可,
隐式将这些参数封装成了数组.
方法的可变参数在使用时,可变参数一定要定义在参数列表的最后.

StaticImport 静态导入
import static java.util.Arrays.*;导入的是Arrays这个类中的所有静态成员.
import java.lang.System.*;                导入了System类中所有的静态成员;
当类名重名时,需要指定具体包名;
当方法重名时,指定具体所属的对象或类.




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2