public class myCompactor implements Comparator<String> {//定义比较器
public int compare(String s1,String s2){
if (s1.length()>s2.length())
{
return 1;
}
if(s1.length()<s2.length())
{
return -1;
}
return s1.compareTo(s2);
}
}
复制代码
import java.util.*;
public class collectionssortdemo {
public static void main(String[] args) {
List<String> li=new ArrayList<String>();
li.add("a");
li.add("aa");
li.add("zz");
li.add("aaaaa");
// Collections.sort(li);//自然排序
//Collections.sort(li, new myCompactor());//带比较器的方法
System.out.println(li);
}
复制代码
Collections.max(list); //返回 list 中字典顺序最大的元素。
int index = Collections.binarySearch(list,"zz");//二分查找,返回角标。
Collections.reverseOrder();//逆向反转排序。
Collections.shuffle(list);//随机对 list 中的元素进行位置的置换。
将非同步集合转成同步集合的方法:Collections 中的 XXX synchronizedXXX(XXX);
List synchronizedList(list);
Map synchronizedMap(map);
-------------------------------------------------------
Arrays:
用于操作数组对象的工具类,里面都是静态方法。
asList 方法:将数组转换成 list 集合。
List<String> list = Arrays.asList(arr);//将 arr 数组转成 list 集合
可以通过 list 集合中的方法来操作数组中的元素:isEmpty()、contains、indexOf、set;
注意(局限性) :数组是固定长度,不可以使用集合对象增加或者删除等,会改变数组长度的功能方法。比如
add、remove、clear。 (会报不支持操作异常 UnsupportedOperationException) ;
API--- java.util.Math: 用于数学运算的工具类,属性和行为都是静态的。该类是 final 不允许继承。
static double ceil(double a) ; //返回大于指定数值的最小整数
static double floor(double a) ; //返回小于指定数值的最大整数
static long round(double a) ; //四舍五入成整数
static double pow(double a, double b) ; //a 的 b 次幂
static double random(); //返回 0~1 的伪随机数
public static void main(String[] args) {
Random r = new Random();
for(int x=0; x<10; x++) {
double d = Math.floor(Math.random()*10+1);//math.random只能获取0-1(不包括1的小数)
int d = (int)(Math.random()*10+1);//强制转型取0-10的整数
int d = r.nextInt(10)+1;//直接调用方法获得0-10的整数
System.out.println(d);
}
}
---------------------------------
Calendar日历类:
package day18;
import java.util.Calendar;
public class calendardemo {
public static void printCalendar(Calendar c)//定义一个打印日期的方法