JavaSE核心

 正则表达式:

正则表达式
//注册正则表达式
Pattern pattern = Pattern.compile("");

String mailStr = "fanchuanqi@yahoo.com";

//匹配字符串,返回描述匹配结果的Matcher实例
Matcher matcher = pattern.matcher(mailStr)

if(matcher.find()){正确}
replaceAll(String regex,String replacement)方法可以替换字符串中满足正则表达式部分的内容
String info = StringUtils.repeat("hello",5);
String leftPad = StringUtils.leftPad("原字符串",希望返回长度,"a"填充字符);

StringBuilder类:

StringBuilder封装可变的字符串,用于对某个字符串频繁的编辑操作
使用它可以大规模修改字符串时不开辟新的字符串对象,从而节约内存资源
StringBuilder append("")//拼接
insert,delete,replace,reverse

StringBuilder与StringBuffer
效果是一样的
区别:StringBuilder是线程安全
     StringBuffer不是线程安全的
    在多线程操作下应使用StringBuilder

Date类:

Date date = new Date();

Calendar:

通关Calendar的静态方法获取一个实例
该方法会自行决定时区,帮我们创建实例
该方法会根据当前系统所在地区来决定时区
Calendar calendar = Calendar.getInstance();//抽象类,不能实例化
//实际上有若干子类
//calendar是可以将其描述的时间转化为Date的
Date now = calendar.getTime();//获取日历所描述的日期

通过日历类计算时间:
calendar.set(int field,int value)//设置时间
lg:(Calendar.YEAR,2012)

calendar.get(Calendat.YEAR);

SimpleDateFormat:

用来描述日期的格式
yyyy-MM-dd hh:mm:ss

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//创建一个日期格式的字符串
String dateFormat = ”2013-05-14";
//将一个字符串转换为响应的Date对象
Date date = sdf.parse(dateFormat);

--将日期转换为字符串
Date now = new Date();
String nowStr = sdf.format(now);

基本类型包装类:

这种从基本类型转变为引用类型的过程称之为"装箱",反之叫"拆箱"

用字符串描述一个浮点数作为参数传入
BigDecimal num1 = new BigDecimal("3.0");

num1.subtract(num2); //num1-num2
divide(num2,9,BigDecimal.ROUND_HALF_UP)//保留精度,四舍五入

//add:加法
//multiply:乘法

float f = result.floatValue();//将结果转换为基本类型float


BigInteger num = new BigInteger("1");

Collection框架及List集合:

Collection是集合的顶级父类:是一个接口
其下有两个子类:List和Set
List:元素可重复 List都是有序的
Set:元素不可重复 Set大部分是无序的

List两个常见的子类实现:
ArrayList:动态数组实现的List,可以通过下标迅速索引,但删除和插入时移动较多元素
LinkedList:链表实现的List,在删除或插入时只需要改变链接指针即可以实现


set方法,用于修改集合中的元素
indexOf("");
lastIndexOf("");

如何将一个集合转换为数组?
Object[] array = list.toArray();
System.out.println(Arraus.toString(array));

Iterator it = list.iterator();
while(it.hasNext()){
    Object element = it.next();
    it.remove();//不能重复调用两次
}

Java泛型机制:

泛型的本质是参数化类型,在类,接口和方法的定义过程中,所操作的数据类型被传入的参数指定
ArrayList<E>

public class Point<E,Z>{
    private E x;
    private Z y;
}
List.subList(3,8)取一个集合子集

 数据结构:

队列
Queue<String> queue = new LinkedList<String>();
queue.offer("A");
queue.offer("B");
queue.offer("C");

poll():从队列中获取元素使用poll()方法,若该方法返回null,说明队列中没有元素了

peek():获取队首的元素。(不删除该元素)

栈
Deque:
    push():压入
    pop():弹出
    peek():
    
    

Comparable类:

若我们定义的类想在数组或集合中可以排序,我们需要就将当前类实现Comparable接口,并定义比较规则
public class ComparablePoint implements Comparable<ComparablePoint>{
    所有子类均需要实现该方法来定义比较规则
    
    private int x;
    private int y;
    
    比较规则:
        比较点到原点的距离,谁的距离长谁大
        
    public int compareTo(ComparablePoint o){
        int r = x*x+y*y;
        int other = o.x*o.x+o.y*o.y;
        
        return r-other;       
    }
}
Collections类:
    集合的工具类。提供了对集合操作的若干方法
sort():该方法可以对集合中的元素自然排序

使用集合工具类对集合进行自然排序
该方法会一次调用集合中每个元素的compareTo方法
进行比较
Collections.sort(list);
Comparator比较器
他是一个接口,实现该接口的类需要实现一个抽象方法
int compareTo(E o1,E o2)
该方法返回值大于0:o1比o2大
小于0:o1比o2小
等于0:o1与o2相等

自定义比较规则需要以下步骤:
1定义一个类并实现Comparator接口
2实现接口中的抽象方法compareTo(E o1,E o2)
3实例化这个比较器
4调用Collections的重载方法进行排序

通常使用匿名类的方式创建一个实例来定义比较器

Comparator<ComparablePoint> c = new Comparator<ComparablePoint>(){
    public int compare(ComparablePoint o1,ComparablePoint o2){
        //两个点X值大的值
        return o1.getX()-o2.getX();
    }
}
Collections.sort(list,c);
不重复,无序
Set<String> set = new HashSet<String>();
想获取元素得用iterator

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值