Java各种各样的类型及其方法

本文介绍了Java中的基础API用法,包括String、StringBuilder、StringJoiner的构造与方法,Object的toString()和equals(),以及Calendar、LocalDate等日期时间API。此外,还讲解了Arrays工具类的操作,Lambda表达式的概念和使用,以及Collection和ArrayList的交互,最后提到了Stream流的基本操作。
摘要由CSDN通过智能技术生成

字符串相关

String

构造方法说明
public String()创建空白字符串,不含任何内容
public String(String original)根据传入的字符串,创建字符串对象
public String(char[] chs)根据字符数组,创建字符串对象
public String(byte[] chs)根据字节数组,创建字符串对象

字符串比较
boolean equals方法(要比较的字符串) 完全一样才是true,否则为false
boolean equalslgnoreCase(要比较的字符串) 忽略大小写的比较

StringBuilder

因为StrIngBuilder是ava已经写好的类,java在底层对他做了一些特殊处理。
打印对象不是地址值而是属性值。

构造方法名说明
public StringBuilder()创建一个空白可变字符串对象,不含有任何内容
public StringBuilder(String str)根据字符串内容,来创建可变字符串对象

StringBuilder sb=new StringBuilder(“123”)

常用方法说明
public StringBulider append(任意类型)添加数据,并返回对象本身
public StringBuilder reverse()反转容器内容
public int length()返回长度(字符出现的个数)
public String toString()通过toString()就可以实现把StringBuilder转换为String

可以使用链式编程:(如下)
sb.append(“123”).addpend(“456”).append(“789”)

StringJoiner

构造方法名说明
public StringJoiner(间隔符号)创建一个StringJoiner对象,指定拼接时的间隔符号
public StringJoiner(间隔符号,开始符号,结束符号)创建一个StringJoiner对象,指定拼接时的间隔符号、开始符号、结束符号

StringJoiner sj=new StringJoiner(“,”,“[”,“]”) //参数一,中间间隔符号,参数二:开始符号,参数三:结尾符号

成员方法说明
public StringJoiner add(添加的内容)添加数据,并返回对象本身
public int length()返回长度(字符出现的个数,包含拼接的长度和空格,这个计算的是最终的长度)
public String toString()返回一个字符串(该字符串就是拼接之后的结果)

可以使用链式编程:(如下)
StringJoiner sj=new StringJoiner(“—”)
sj.add(“123”).add(“456”).add(“789”)
System.out.println(sj) //123—456—789

对象相关

Object

成员方法名说明
public String toString()返回对象的字符串表示形式
public Boolean equals(Object obj)比较两个对象是否相等
public Object clone(int a)对象克隆

常用API

Calendar(日历对象)

常用方法名说明
public final Date getTime()获取日期对象
public final setTime(Date date)给日历设置日期对象
public long getTimeInMillis()得到时间毫秒值
public void setTimeInMillis(long millis)给日历设置时间毫秒值
public int get(int field)取日历中某个字段信息
public void set(int field , int value)修改日历的某个字段信息
public void add(int field , int amount)为某个字段增加/减少指定的值
Calendar c = Calendar.getInstance()
//获取当前时间
Date d = new Date()
//给日历设置当前时间
c.setTime(d)
System.out.println(c) //会打印出一个日历对象

细:1: Calendar是一个抽象类,不能直接new,而是通过一个静态方法获取到子类对象
底层原理:
会根据系统的不同时区来获取不同的日历对象,默认表示当前时间。
把会把时间中的纪元,年,月,日,时,分,秒,星期,等等的都放到一个数组当中细节2:
月份:范围e~11如果获取出来的是e.那么实际上是1月。星期:在老外的眼里,星期日是一周中的第一天
在这里插入图片描述

LocalDate、LocalTime、LocalDateTime(相关视频链接)

方法名说明
static XXX now()获取当前时间的对象
static XXX of(…)获取指定时间的对象
get开头的方法获取日历中的年月日时分秒等信息
isBefore , isAfter比较两个LocalDate
with开头的修改时间系列的方法
minus开头的减少时间系列的方法
plus开头的增加时间系列的方法

Arrays(操作数组的工具类)

方法名说明
public static String toString(数组)把数组拼接成一个字符串
public static int binarySearch(数组,查找的元素)二分查找法查找元素
public static int[] copyOf(原数组,新数组长度)拷贝数组
public static int却copyOfRange(原数组,起始索引,结束索引)拷贝数组(指定范围)
public static void fill(数组,元素)填充数组
public static void sort(数组)按照默认方式进行数组排序
public static void sort(数组,排序规则)按照指定的规则排序

最后一个排序的案例

public class demo01 {
    public static void main(String[] args) {
       Integer[] arr = {10,21,13,42,25,6,7,80};
        Arrays.sort(arr, new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return o1-o2;
            }
        });
        System.out.println(Arrays.toString(arr));
    }
}

----------------------------------------
[6, 7, 10, 13, 21, 25, 42, 80]

Lambda表达式(函数式编程思想体现)

//语法:
()->{}
//()对应着方法的形参
//->固定格式
//{}对应着方法的方法体

lambda表达式 简化后结果
注意: Lambda表达式可以用来简化匿名内部类的书写
Lambda表达式只能简化函数式接口的匿名内部类的写法
函数式接口: 有且仅有一个抽象方法的接口叫做函数式接口,接口上方可以加@FunctionalInterface注解

lambda的省略规则:
1.参数类型可以省略不写。
2.如果只有一个参数,参数类型可以省略,同时()也可以省略T
3.如果Lambda表达式的方法体只有一行,大括号,分号,return可以省略不写,需要同时省略。

public class demo01 {
    public static void main(String[] args) {
       Integer[] arr = {10,21,13,42,25,6,7,80};
        Arrays.sort(arr, (Integer o1, Integer o2)-> {
                return o1-o2;
            }
        );
        System.out.println(Arrays.toString(arr));
    }
}
----------------------------------------
[6, 7, 10, 13, 21, 25, 42, 80]

集合相关

Collection

Collection是单列集合的祖宗接口,它的功能是全部单列集合都可以继承使用的

方法名称说明
public boolean add(E e)把给定对象添加到当前集合中
public void clear()清空集合中的元素
public boolean remove()把给定的对象在当前集合中删除
public boolean contains(object obj)判断当前集合中是否包含给定的对象
public boolean isEmpty()判断当前集合是否为空
public int size()返回集合中元素的个数/集合的长度

ArrayList

成员方法说明
boolean add(E e)添加元素,返回值表示是否添加成功
boolean remove(E e)删除指定元素,返回值表示是否删除成功
E remove(int index)删除指定索引的元素,返回被删除的元素
E set(int index,E e)修改指定索引下的元素,返回原来的元素
E get(int index)获取指定索引的元素
int size()集合的长度,也就是集合中元素的个数

ArrayList< 指定的引用数据类型 > list = new ArrayList< >()
list.add(添加的数据)
list.remove(删除的数据)

循环方法

迭代器

Collection<String> coll = new ArrayList<>();
        coll.add("aaa");
        coll.add("bbb");
        coll.add("ccc");
        coll.add("ddd");
        coll.add("eee");

        //获取迭代器对象
        //迭代器就好像一个箭头,默认指向集合的0索引处
        Iterator<String> it = coll.iterator();
    //    利用循环不断地去获取集合中的每一个元素
        while (it.hasNext()){
            String str = it.next();
            System.out.println(str);
        }

Stream流相关

  1. 获取Stream流
获取方式方法名说明
单列集合default Stream stream()Collection中的默认方法
双列集合无法直接使用stream流,需要通过keySet()或者entrySet()变成单列集合
数组public static Stream stream(T[ ] array)Arrays工具类中的静态方法
一堆零散数据public static Stream of(T… values)stream接口中的静态方法
  1. Stream流的中间方法
方法名称说明
Stream filter ( Predicate<? super T> predicate )过滤
Stream filter ( Predicate<? super T> predicate )获取前几个元素
Stream skip ( long n )跳过前几个元素
Stream distinct ( )元素去重,依赖(hashCode和equals方法)
static Stream concat ( Stream a , Stream b )合并a和b两个流为一个流
Stream map ( Function<T ,R> mapper )转换流中的数据类型
  1. Stream流的终结方法
方法名称说明
void forEach ( Consumer action )遍历
long count ( )统计
toArray ( )收集流中的数据,放到数组中
collect ( Collector collector )收集流中的数据,放到集合中
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

萧寂173

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值