毕向东之常用工具类
*=================================== 常用工具类: 一.Collections(对list集合的操作)静态方法 1.SynchronizedList(List<T> list) :返回一个安全的List,list里面的所以方法都加锁成安全的 2.swap(List<T> list,int i,int j) :交换角标i、j的位置 3.shuffle(List<?> list) :对元素随机排列(洗牌) 4.sort(List<T> list) :按自然顺序排列 升序,但是T必须继承了Comparable 5.sort(List<T> list,Comparator<? super T> c) :Collections.sort(list,new LenComparator());按照指定比较器排序 6.max(list) :自然顺序的最大值 7.max(list,comparator) :按照指定的比较器找最大值 8.binarySearch(list,元素) :二分法查找 找不到时返回负的角标减一(找不到的这个元素插入有序集合的角标) 9.fill(list,"pp") :将list中的所有元素都替换成pp 10.replaceAll(list,oldval,newval) :替换旧的 11.reverse(list) :反转 12.reverseOrder() :返回一个逆字典顺序的比较器 13.reverseOrder(comparator) :返回一个指定比较器的逆序比较器 二、 Arrays 1.asList :将数组变成list集合 好处:可以使用集合的方法操作数组中的元素(contains get indexof subList),但是不能使用增删方法,会报不支持操作异常 注意:如果数组中的元素都是对象,那么变成集合时,数组中的元素就直接转成集合中的元素 如果数组中的元素都是基本数据类型,那么会将该数组作为集合中的元素存在 2.toString(arr[]) :将指定数组以字符串的形式输出 三、Collection接口中的toArray方法 1.toArray(new String[0]) :将集合转变成指定类型的数组 (大小刚好比较合适) 为什么要将集合转变成数组?:限制操作,不能增删 四、静态导入:StaticImport 不需要写类.静态方法()中的类名 import static java.util.Arrays.*; //导入的是Arrays中的所有类的静态成员,而不是导入类 注意:当类名重名时,需要指定具体的包名 当方法重名时,指定具备所属的对象或者类 五、System 系统信息 1.Properties getProperties();//获取系统属性信息 Properties是Map的子类,所以可以通过map的方法取出 六、Runtime 对运行的处理 不可以new对象 1、getRuntime() 返回当前应用程序运行时对象 七、Date 日期 1.DateFormat-->SimpleDateFormat 如:SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss"); String time=sdf.format(new Date()); 用模式格式化指定Date对象 八、Calendar 日历 比Date方法多 1.Calendar c=Calendar.getInstance();//当前日期 c.get(Calendar.Year);获取年份 比Date方便 九、Math 1.round 四舍五入 2.math.ceil(16.34) 返回大于指定数据的最小整数 3.floor 返回小于指定数据的最大整数 */
数组的复制
/* * 参数1:拷贝的源数组, 参数2:从源数组的哪个位置开始拷贝,参数3:目标数组(拷贝到这个数组) * 参数4:从目标数组的哪个位子开始写数据, 参数5:拷贝的元素的个数 */ System.arraycopy(mHits, 1, mHits, 0, mHits.length-1);//数组移位的实现