黑马程序员技术交流社区

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

作者: 周飞飞    时间: 2015-8-17 09:49
标题: 工具类Arrays
Arrays类:
        是一个操作数组的类,其中全部是静态方法:
        查找:(二分查找 前提必须有序)
                binarySearch(?,?);
        复制数组:
                copyOf(?,length);
        根据范围复制数组
                copyOfRange(?,form,to);
               
        判断两个数组是否相同
                equals(?,?);
               
        指定内容替换所有元素(所有数据)
                file(?,value)
       
        基于指定数组的内容返回哈希码。
                hashCode(?[]);
       
        排序:
                sort(?);
       
        返回指定数组内容的字符串表示形式。
                toString(?);
       
        static boolean deepEquals(Object[] a1, Object[] a2)
          如果两个指定数组彼此是深层相等 的,则返回 true。
        static int deepHashCode(Object[] a)
          基于指定数组的“深层内容”返回哈希码。
        static String deepToString(Object[] a)
          返回指定数组“深层内容”的字符串表示形式
       
        数组转换集合:
                        可以使用集合的思想和方法来操作数组中的元素。会发生:UnsupportedOperationException
                        注意:不可以使用List集合中的增删方法:因为数组的长度是固定的
                asList(T t);
                        如果数组中的元素是对象 ,变成集合是,数组中的元素转成集合中的元素。
                        如果数组中的元素是基本数据类型,转成集合是,会把集合作为一个元素存到集合中。
                        Integer[] arr = {1,2,3,4};
                        List<Integer> list =Arrays.asList(arr);
                        System.out.println(list);
        集合变数组:(ArrayList类中的)
                Object[] toArray()
          按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组。
               
               
                <T> T[] toArray(T[] a)
                  按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组;返回数组的运行时类型是指定数组的运行时类型。
                        指定类型数组的长度:
                                当指定类型数组的长度小于集合的size,该方法内部会创建一个新的数组
                                当指定类型数组的长度大于集合的size,该方法内部不会会创建一个新的数组,会使用该数组
                        集合变数组的原因:       
                                为了限定对元素的操作,不能进行增删。
                                                ArrayList<String> al = new ArrayList<String>();
                                                al.add("aa1");
                                                al.add("aa2");
                                                al.add("aa3");
                                                al.add("aa4");
                                                String[] arr = al.toArray(new String[al.size()]);
                                                System.out.println(Arrays.toString(arr));

作者: iamzk    时间: 2015-8-17 09:54
总结的很好,很详细
作者: 风华正茂    时间: 2015-8-17 12:32
楼主总结得很好,楼主辛苦了
作者: pengbeilin    时间: 2015-8-17 14:27
不错




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