java 之常用类( Arrays、StringBuilder、Calendar、Date、Math……)

Arrays

Arrays 类包含用于操作数组的各种方法(例如排序和搜索)。还包含一个静态工厂,允许将数组转为 List。

方法描述
List asList(T… a)返回由指定数组构造的List
void sort(Object[] a)对数组进行排序
void fill(Object[] a, Object val)为数组的所有元素都赋上相同的值
int binarySearch(Object[] a, Object key)对排序后的数组使用二分法查找数据

栗子:

完成需求:
使用Arrays将数组[6, 17, 92, 32, 58, 22, 84, 66, 36, 33]进行排序
找出排序后33所在的位置
测试一下如果不排序能否找到值33?

代码
import java.util.Arrays;
import java.util.Random;
public class ArraysTest{
public static void main(String[] args){
int [] arr= {6,17,92,32,58,22,84,66,36,33};
Arrays.sort(arr);//所有元素排序
System.out.println(“sore排序后:”+Arrays.toString(arr));
int i = Arrays.binarySearch(arr, 33);
//对排序后的数组使用二分法查找数据
System.out.println(“值为33的元素索引:”+i);
}
}
在这里插入图片描述
在这里插入图片描述

StringBuilder 的构造方法:

StringBuilder 类是可变的。它是 String 的对等类,它可以增加和编写字符的可变序列,并且能够将字符插入到字符串中间或附加到字符串末尾(当然是不用创建其他对象的)

构造方法说明
StringBuilder()构造一个其中不带字符的StringBuilder,其初始容量为 16 个字符
StringBuilder(CharSequence seq)构造一个StringBuilder,它包含与指定的 CharSequence 相同的字符
StringBuilder(int capacity)构造一个具有指定初始容量的StringBuilder
StringBuilder(String str)并将其内容初始化为指定的字符串内容
方法返回值功能描述
insert(int offsetm,Object obj)StringBuilder在 offsetm 的位置插入字符串obj
append(Object obj)StringBuilder在字符串末尾追加字符串obj
length()int确定 StringBuilder 对象的长度
setCharAt(int index,char ch)void使用 ch 指定的新值设置 index 指定的位置上的字符
toString()String转换为字符串形式
reverse()StringBuilder反转字符串
delete(int start, int end)StringBuilder删除调用对象中从 start 位置开始直到 end 指定的索引(end-1)位置的字符序列
replace(int start, int end, String str)StringBuilder使用一组字符替换另一组字符。将用替换字符串从 start 指定的位置开始替换,直到 end 指定的位置结束

在这里插入图片描述

Calendar 类:

构造方法说明
GregorianCalendar()创建的对象中的相关值被设置成指定时区,缺省地点的当前时间,即程序运行时所处的时区、地点的当前时间
GregorianCalendar(TimeZone zone)创建的对象中的相关值被设置成指定时区 zone,缺省地点的当前时间
GregorianCalendar(Locale aLocale)创建的对象中的相关值被设置成缺省时区,指定地点 aLocale 的当前时间
GregorianCalendar(TimeZone zone,Locale aLocale)year - 创建的对象中的相关值被设置成指定时区,指定地点的当前时间

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
代码本码:
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class CalendarDemo {
public static void main(String[] args) {
System.out.println(“完整显示日期时间:”);
// 字符串转换日期格式
DateFormat fdate = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
String str = fdate.format(new Date());
System.out.println(str);

    // 创建 Calendar 对象
    Calendar calendar = Calendar.getInstance();
    // 初始化 Calendar 对象,但并不必要,除非需要重置时间
    calendar.setTime(new Date());

    // 显示年份
    System.out.println("年: " + calendar.get(Calendar.YEAR));

    // 显示月份 (从0开始, 实际显示要加一)
    System.out.println("月: " + calendar.get(Calendar.MONTH));


    // 当前分钟数
    System.out.println("分钟: " + calendar.get(Calendar.MINUTE));

    // 今年的第 N 天
    System.out.println("今年的第 " + calendar.get(Calendar.DAY_OF_YEAR) + "天");

    // 本月第 N 天
    System.out.println("本月的第 " + calendar.get(Calendar.DAY_OF_MONTH) + "天");

    // 3小时以后
    calendar.add(Calendar.HOUR_OF_DAY, 3);
    System.out.println("三小时以后的时间: " + calendar.getTime());
    // 格式化显示
    str = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS")).format(calendar.getTime());
    System.out.println(str);

    // 重置 Calendar 显示当前时间
    calendar.setTime(new Date());
    str = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS")).format(calendar.getTime());
    System.out.println(str);

    // 创建一个 Calendar 用于比较时间
    Calendar calendarNew = Calendar.getInstance();

    // 设定为 5 小时以前,后者大,显示 -1
    calendarNew.add(Calendar.HOUR, -5);
    System.out.println("时间比较:" + calendarNew.compareTo(calendar));

    // 设定7小时以后,前者大,显示 1
    calendarNew.add(Calendar.HOUR, +7);
    System.out.println("时间比较:" + calendarNew.compareTo(calendar));

    // 退回 2 小时,时间相同,显示0
    calendarNew.add(Calendar.HOUR, -2);
    System.out.println("时间比较:" + calendarNew.compareTo(calendar));

    // calendarNew创建时间点
    System.out.println((new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS")).format(calendarNew.getTime()));
    // calendar创建时间点
    System.out.println((new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS")).format(calendar.getTime()));
    System.out.println("时间比较:" + calendarNew.compareTo(calendar));
}

}

类似有 Arrays、StringBuilder、Calendar、Date、Math、System、Random ……
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值