java 常用类 异常 集合

常用类

java.lang.Interfaces
java.lang.Classes

final关键字

fimal :修饰类 属性 方法
修饰类:该类不能被其他类继承
修饰方法:修饰的方法不能被重写
修饰属性:修饰后的属性是常量,创建时需要对其赋值,赋值后值不能改变
static final int count = 2;//因为在定义之初就为其赋值,那么所有对象不能改变其值,建议用static修饰
final int num;//在定义之初没有对其赋值,那么必须在构造方法中为其赋值
//两种写法 一种直接赋值 一种构造一个有/无参的构造方法为其赋值

API概述

API(Application Programming Interface)应用程序编程接口
● 是对java预先定义的类或接口功能和函数功能的说明文档,目的是提供
给开发人员进行使用帮助说明

Obejct类

Object类是所有Java类的祖先(根基类)。每个类都使用 Object 作为
超类(父类)。所有对象(包括数组)都实现这个类的方法。
● 如果在类的声明中未使用extends关键字指明其基类,则默认基类为Object类

toString方法

● Object类中定义有public String toString()方法,其返回值是 String
类型,描述当前对象的有关信息
在进行String与其它类型数据的连接操作时(如:
System.out.println(“info”+person)),将自动调用该对象类的
toString()方法
● 可以根据需要在用户自定义类型中重写toString()方法

equals方法

Object类中定义有:
● public boolean equals(Object obj)方法
● 提供定义对象是否“相等”的逻辑。
● Object 的 equals 方法 定义为:x.equals ( y ) ,当 x 和 y是同一
个对象的引用时返回 true 否则返回 false
● JDK提供的一些类,如String,Date等,重写了Object的equals方
法,调用这些类的equals方法, x.equals (y) ,当x和y所引用的对象
是同一类对象且属性内容相等时(并不一定是相同对象),返回
true 否则返回 false

Arrays类

equals方法

java.util.Arrays类
● 用于操作数组工具类,里面定义了常见操作数组的静态方法
equals 方法
● 比较两个非同一数组是否相等,而数组本身的equals判断另一个数
组是否它本身。
● 声明:public static boolean equals(type[]a,type[]a2)
● 参数的类型可以是原生数据类型和引用类型的任意一种类型。
● 返回:如果两个相等,则返回true,否则返回false

sort-排序

作用于数组的所有元素
public static void sort(type[] a)
● 作用于数组指定范围内的元素
public static void sort(type[] a, int fromIndex(包括), int toIndex(不包括))
将指定的类型(除boolean以外的任意原生数据类型)数组所有元素(或指定范
围内的元素)按数字升序进行排序。
object型数组,根据元素的自然顺序,对指定对象数组进行升序排序。
(fromIndex==toIndex,则排序范围为空)
• 自定义对象排序
自定义类实现Comparable接口
重写compareTo方法

toString() 方法

● 声明:public static String toString(type[] a)
● 描述:返回指定数组内容的字符串表示形式。
● 基本数组,字符串表示形式由数组的元素列表组成,括在[],相邻元素
用“
,
”(逗号加空格)分隔。

String类

String类概述

字符串是由多个字符组成的一串数据(字符序列)的字符串常量,值一旦创建不可改变,java中所有字符串都是String类的实例.
new +构造方法
凡是new 出来的,在内存空间中是独一无二的.

String用法

比较功能
equals :比较字符串内容是否相等
equalsIgnoreCase比较字符串内容是否相等(忽略大小写)
contains/是否包含指定的子串
isEmpty/判断是否为""
startsWith/判断以指定字符串开头
endsWith/判断以指定字符串结尾
compareTo/字符串比大小

获取功能
length
charAt获取指定位置(索引)的字符
indexOf/从前向后找 只找首次出现的位置
indexOf(“d”,index+1);//从前向后找 从指定位置开始
lastIndexOf/从后向前查找,首次出现的位置
substring/从指定的为开始截取字符串,直接到最后一位,最终返回一个新的字符串对象
substring/截取指定区间 包含开始位置,不包含结束位置

转化功能
char[] chars = s.toCharArray(); //将字符串转换为一个新的char数组
String s1 = new String(chars); //将char数组 转为字符串

valueOf将字符转化为字符串
toUpperCase/转大写
toLowerCase/转小写
concat 连接其他类型(往后面直接连接)
split 按照指定的分隔符,将字符串拆分为数组

正则表达式

正则表达式: 规则表达式, 使用一些特定的符号来制定一个规则,
使用此规则与一个字符串进行模式匹配, 匹配成功返回true,否则返回false
在这里插入图片描述
在这里插入图片描述

字符串替换方法

StringBuffer

我们如果对字符串进行拼接操作,每次拼接,都会构建一个新的String对象,既耗时,又浪费空间。而StringBuffer就可以解决这个问题线程安全的可变字符序列
当向StringBuffer中添加内容时,是将内容添加到底层的数组中,数组没有被final修饰,
当数组装满时,会创建一个新的数组,将新数组地址给底层数组,StringBuffer对象是不会改变的.

//stringBuffer.insert(2,"xx");//向指定的位置插入字符串
                     //stringBuffer.deleteCharAt(1);
                     //stringBuffer.delete(0,3);//删除指定区间的内容 包含开始,不包含结束
                     //stringBuffer.replace(0,3, "XXX");//替换
                     //stringBuffer.reverse();//逆序字符串
                    //String sub =  stringBuffer.substring(2);//截取一个字符串副本返回
                    //String sub =  stringBuffer.substring(2,5);//截取一个字符串副本返回

String–StringBuffer-StringBuilder区别

String : 底层都是数组实现 final char[] 值不能改变, 改变后会创建一个新的对象
StringBuffer : 线程安全的 可变字符串 char[]
StringBuilder: 线程不安全 可变字符串

基本类型包装类

Math—Bandom–System

Math

Math.PI
Math.abs
Math.sqrt
Math.random 返回0-1之间的随机数
Math.floor(小数) 向下取整
Math.ceil(小数) 向上取整
Math.round(小数) 四舍五入

Bandom

Random r = new Random();
        //System.out.println(r.nextInt());//在int的范围内随机取出
        //System.out.println(r.nextInt(4));//0--<4  在指定的区间内随机取出
        byte[] b = new byte[5];//随机取出 数组.length个随机数

System

 //System.out.println(s);

        //System.exit(0); 退出虚拟机

日期Date

Date date = new Date();//创建一个日期对象,里面包含了程序运行时的那一刻的时间,提供方法方便操作

异常

java中如果出现了异常,虚拟机默认抛出对应语法问题的类的对象
Throwable类有两个直接子类:Exception类、Error类。Error表示错
误,可能是编译期错误或者系统错误,往往程序中并不处理。
Exception表示异常,是所有异常类的父类,是程序员所关心的。

异常概述

算术异常 ArithmeticException
数组越界 ArrayIndexOutOfBoundsException
数字格式化 NumberFormatException
空指针 使用值为null的引用 NullPointerException
类型转换异常 ClassCastException

finally代码块

无论是否出现异常,finally中的代码都会执行

throws

throws 在方法的形参列表后面,声明此方法可能会抛出某种类型的异常,可以声明多个
如果声明为运行时异常,编译期间不强制处理
如果声明为编译期异常,编译期间强制提示进行处理

throw

throw关键字用于显式抛出异常,抛出的时候是抛出的是一个异常类的实
例化对象. • 在异常处理中,try语句要捕获的是一个异常对象,那么此异常对象也
可以自己抛出

throws和throw

● throw用于方法体中,用来抛出一个实际的异常对象,使用throw后,
要么使用try catch捕获异常,要么使用throws声明异常
● throws用于方法声明处,用来声明该方法可能发生的异常类型,可以是
多个异常类型,用来强制调用该方法时处理这些异常

自定义异常

自定义异常就是自己定义的异常类,也就是API中的标准异常类的直接或间接的子类

集合

● 数组一旦定义,长度将不能再变化
集合:能够动态增长长度的容器

练习处理—集合概述

Java的集合框架是由很多接口、抽象类、具体类组成的,都位于java.util包中。
在这里插入图片描述

Collection常用方法

Collection接口定义了存取一组对象的方法,其子接口Set和List分别定义了存储方式
Set中的数据对象没有顺序且不可以重复
List中的数据对象有顺序且可以重复
Collection方法

泛型

将类型由原来的具体的类型参数化,根据传入的类型可以做出相应的改变
泛型有三种使用方式,分别为:泛型类、泛型接口、泛型方法.
泛型的类型参数只能是类类型
泛型的类型参数可以有多个
如果没有定义具体类型,默认为Object
子类也是泛型类,子类和父类的泛型类型要一致
子类不是泛型类,父类要明确泛型的数据类型

List接口概述

ArrayList方法

       底层实现是数组结构,查询快,中间添加、删除慢

常用方法
add(int index, E element) get(int index)
indexOf(Object o) lastIndexOf(Object o) remove(int index) 删除并返回指定位置元素
removeRange(int fromIndex, int toIndex) 删除指定区间的元素(子类继承使用)
set(int index, E element)

LinkedList

       底层是链表结构,查询慢,中间添加、删除快

常用方法
add(int index,Object element)
addFirist(Object element)
addLast(Object element)
get(int index)
removeFirst()
removeLast()
remove(int index)
getFirst()
getLast()

Vector

          底层是数组实现,是线程安全的

List集合迭代

for循环遍历
● 增强for循环的遍历
● 迭代器遍历(Iterator)

内部类

内部类特征

TreeSet

  Set中所存储的元素是不重复的,但是是无序的, Set中的元素是没有索引的

TreeSet
可以给Set集合中的元素进行指定方式的排序。存储的对象必须实现Comparable接口。
TreeSet底层数据结构是二叉树(红黑树是一种自平衡的二叉树)
Set 接口集合迭代
增强for循环
迭代器遍历

Map接口概述-- 常用方法

Map接口常用方法

V put(K key,V value)
​V remove(Object key)
void clear()
boolean containsKey(Object key)
​boolean containsValue(Object value)
boolean isEmpty()
int size()
V get(Object key)
Collection values()
Set keySet()
Set<Map.Entry<K,V>> entrySet()
HashMap
数组+链表+二叉树(黑红树)

HashMap中元素的key值不能重复, 排列顺序是不固定的,可以存储一个
为null的键

TreeMap
TreeMap中所有的元素都保持着某种固定的顺序,如果需要得到一个有序的Map就应该使用TreeMap,key值所在类必须实现Comparable接口。
适用于按自然顺序或自定义顺序遍历键(key)。
TreeMap根据key值排序,key值需要实现Comparable接口,重写compareTo方法。TreeMap根据compareTo的逻辑,对 key进行排序。
键是红黑树结构,可以保证键的排序和唯一性
HashTable
实现了同步。
不能存储为null的键
Map集合遍历
方式1:根据键找值

获取所有键的集合
遍历键的集合,获取到每一个键
根据键找值
方式2:根据键值对对象找键和值

获取所有键值对对象的集合
遍历键值对对象的集合,获取到每一个键值对对象
根据键值对对象找键和值

HashMap

TreeMap—Hashtable—Map

Collections类

Collections是集合类的工具类,与数组的工具类Arrays
类似.addAll(Collection<? super T>c, T… elements); binarySearch(List<? extends Comparable<? super T>> l ist, T key) sort(List l ist) sort(List l ist, Comparator<? super T> c) swap(List<?> l ist, int i, int j)
copy(List<? super T> dest, List<? extends T> src) ; 注意 dest size需大于等于src.size emptyList() 返回为空的集合,不能添加数据 fi l l(List<? super T> l ist, T obj) max(Col lection<? extends T> col l) min(Col lection<? extends T> col l) replaceAl l(List l ist, T oldVal, T newVal) reverse(List<?> l ist)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值