关于数组工具类方法整理
引用:
java.util.arrays
org.apache.commons.lang.arrayutils
?
/**<br>? * 对两国数组的内容进行比较。判断两个数组内容是否相同<br>? * arrays.equals<br>? * arrayutils.isequals<br>? * @param s<br>? * @param a<br>? */<br>?public static void same(object[] s,object[] a){<br>??system.out.println(arrays.equals(a, s));<br>??system.out.println(arrayutils.isequals(a, s));<br>??system.out.println(arrays.deepequals(a, s));<br>?}<br>?/**<br>? * 显示数组内容,string对象<br>? * arrays.tostring<br>? * arrayutils.tostring<br>? * 不同:[123, 2321, sfs],{123,2321,sfs}<br>? * @param a<br>? */<br>?public static void tostring(object[] a){<br>??system.out.println(arrays.tostring(a));<br>??system.out.println(arrayutils.tostring(a));<br>??system.out.println(arrays.deeptostring(a));<br>?}<br>?<br>?/**<br>? * 取哈西码<br>? * arrays.hashcode<br>? * arrayutils.hashcode<br>? * 值不同<br>? * @param a<br>? */<br>?public static void hascode(object[] a){<br>??system.out.println(arrays.hashcode(a));<br>??system.out.println(arrays.deephashcode(a));<br>??system.out.println(arrayutils.hashcode(a));<br>?}<br>?<br>?/**<br>? * 取子数组,复制<br>? * arrays.copyof默认从0开始的,end index<br>? * arrayutils.subarray选择起始index,end index<br>? * arrays.copyofrange 选择起始index,end index<br>? * arrayutils.clone复制数组a内容并返回新的数组<br>? * @param a<br>? * @param length<br>? */<br>?public static void copy(object[] a,int length){<br>??system.out.println(arrays.tostring(arrays.copyof(a, length)));<br>??system.out.println(arrayutils.tostring(arrayutils.subarray(a, 0, 2)));<br>??system.out.println(arrays.tostring(arrays.copyofrange(a, 1, 2)));<br>??system.out.println(arrays.tostring(arrayutils.clone(a)));<br>?}<br>?<br>?/**<br>? * 数组的增,删,查操作<br>? * arrays.fill向数组插入指定值,所有都是该值<br>? * arrayutils.add向数组插入指定,并形成新数组返回,原数组不变 <br>? * arrayutils.addall向数组a插入数组b的值,并形成新数组返回,原数组不变 <br>? * arrayutils.remove删除指定数组指定下标的值,并形成新数组返回,原数组不变 <br>? * arrayutils.removeelement删除指定数组指定内容的值,并形成新数组返回,原数组不变 <br>? */<br>?public static void operat(object[] a){<br>//??arrays.fill(a, 1);<br>??system.out.println(arrays.tostring(a));<br>??system.out.println(arrays.tostring(arrayutils.add(a, 2)));<br>??system.out.println(arrays.tostring(arrayutils.addall(a, new object[]{2,3,5,"es"})));<br>??system.out.println(arrays.tostring(arrayutils.remove(a, 1)));<br>??system.out.println(arrays.tostring(arrayutils.removeelement(a, "11")));<br>?}<br>?<br>?/**<br>? * 集合转换<br>? * 转list:arrays.aslist 返回一个list值可重复<br>? * 转map:arrayutils.tomap返回一个map,值不可重复且数组格式如:new object[]{new object[]{1,1},new object[]{1,2}}<br>? */<br>?public static void tocollect(object[] a){<br>??list l = arrays.aslist(a);<br>??stringbuffer s = new stringbuffer("");<br>??for(object o:l){<br>???s.append(o+" ");<br>??}<br>??system.out.println(s.tostring());<br>??object[] b = new object[]{new object[]{1,1},new object[]{1,2}};<br>??map m = arrayutils.tomap(b);<br>??s = new stringbuffer("");<br>??for(object k:m.keyset()){<br>???s.append(k+";"+m.get(k)+" ");<br>??}<br>??system.out.println(s.tostring());<br>?}<br>?<br>?/**<br>? * 数组排序<br>? * arrays.sort按照ascc码升序<br>? * arrays.binarysearch查找某个值在数组中的index<br>? * arrayutils.reverse将数组顺序反过来<br>? */<br>?public static void sort(integer[] a){<br>??arrays.sort(a);<br>??system.out.println(arrays.tostring(a));<br>??system.out.println(arrays.binarysearch(a, 3));<br>??arrayutils.reverse(a);<br>??system.out.println(arrays.tostring(a));<br>?}<br>?<br>?/**<br>? * 内部值检查<br>? * 1,是否为空 <br>? * 2,长度是否相同<br>? * 3,类型是否相同<br>? * 4,是否包含某个值<br>? */<br>?public static void contents(object[] a,object[] b){<br>??system.out.println(arrayutils.issamelength(a, b));<br>??system.out.println(arrayutils.issametype(a, b));<br>??system.out.println(arrayutils.isempty(a));<br>??system.out.println(arrayutils.contains(a, "sfs"));<br>?}