常用的API

API:Application Programming Interface应用编程接口,一切可以调用的东西都是API。

1.Object

1.1概念

所有对象的顶级父类
存在于java.lang包中,这个包不需要我们手动导包

1.2常用方法

boolean equals(Object obj)指示其他某个对象是否与此对象“相等”。
protected  void finalize()当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。int hashCode()返回该对象的哈希码值。String toString()返回该对象的字符串表示。

2.String

length()
charAt()
lastIndexOf()
substring()
equals()
startsWith()
endsWith()
split()
trim() 去除字符串两端的空格

2.1案例:

String s = "abcdefghijk";System.out.println(s.charAt(3));//d,返回指定索引处的 char 值。System.out.println(s.endsWith("jk"));//true,是否以指定后缀结束String s1 = "abc";System.out.println(s.equals(s1));//false,判断两个字符串的内容是否相同System.out.println(s.length());//11,字符串的长度String s2="1,2,3,4,5";String[]  strs = s2.split(",");//根据指定的规则切割字符串System.out.println(Arrays.toString(strs));//查看数组元素System.out.println(s2.startsWith("1,"));//true//截取时含头不含尾[3,7)System.out.println(s.substring(3,7));//defg//把指定的参数转换成String类型//把数字10转成字符串10System.out.println(String.valueOf(10));

2.2StringBuilder/StringBuffer

2.2.1特点

1、  封装了char[]数组
2、  是可变的字符序列
3、  提供了一组可以对字符内容修改的方法
4、  常用append()来代替字符串做字符串连接
5、  内部字符数组默认初始容量是16:initial capacity of 16 characters
6、  如果大于16会尝试将扩容,新数组大小原来的变成2倍+2,容量如果还不够,直接扩充到需要的容量大小。int newCapacity = value.length * 2 + 2;
7、  StringBuffer 1.0出道线程安全,StringBuilder1.5出道线程不安全

2.2.2常用的方法

append()
charAt()

3.包装类

3.1与基本类型的对应关系

4.日期类

4.1概述

存在于java.util.Date包。
用来封装一个毫秒值表示一个精确的时间点。
从1970-1-1  0点开始的毫秒值。

4.2创建对象

new Date():封装的是系统当前时间的毫秒值
new Date(900000000000L):封装指定的时间点

4.3常用方法

getTime():取内部毫秒值
setTime():存取内部毫秒值
getMonth():获取当前月份
getHours():获取当前小时
compareTo(Date):当前对象与参数对象比较。当前对象大返回正数,小返回负数,相同0。

4.4测试案例

package cc;
import java.util.Date;
public class bb {public static void main(String[] args) {Date d = new Date();System.out.println(d);//输出当前时间System.out.println(d.getTime());//输出1970-1-1至今的毫秒值System.out.println(d.getMonth());//获取当前月份System.out.println(d.getHours());//获取当前小时}
}

5.BigDecimal/BigInteger

BigDecimal:常用来解决精确的浮点数运算。
BigInteger:常用来解决超大的整数运算。

5.1创建对象

BigDecimal.valueOf(2);

5.2常用方法

add(BigDecimal bd): 做加法运算
substract(BigDecimal bd) : 做减法运算
multiply(BigDecimal bd) : 做乘法运算
divide(BigDecimal bd) : 做除法运算
divide(BigDecimal bd,保留位数,舍入方式):除不尽时使用
setScale(保留位数,舍入方式):同上
pow(int n):求数据的几次幂

6.File文件流

6.1.1概述:

封装一个磁盘路径字符串,对这个路径可以执行一次操作。
可以用来封装文件路径、文件夹路径、不存在的路径。

6…1.2常用方法

length():文件的字节量
exists():是否存在,存在返回true
isFile():是否为文件,是文件返回true
isDirectory():是否为文件夹,是文件夹返回true
getName():获取文件/文件夹名
getParent():获取父文件夹的路径
getAbsolutePath():获取文件的完整路径

7.序列化/反序列化

7.1概念

序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。
在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。
序列化:利用ObjectOutputStream,对象的信息,按固定格式转成一串字节值输出并持久保存到磁盘化。
反序列化:利用ObjectInputStream,读取磁盘中序列化数据,重新恢复对象。

7.2案例

public class Test1_Seri {public static void main(String[] args) throws Exception, IOException {//序列化ObjectOutputStream os=new ObjectOutputStream(new FileOutputStream("D:\\teach\\student.txt"));Student s=new Student("张三", 20, "成都");os.writeObject(s);os.close();//关闭输出资源//反序列化ObjectInputStream in=new ObjectInputStream(new FileInputStream("D:\\teach\\student.txt"));}
}
//
class Student implements Serializable{//创建对象用public Student(String name,int age,String addr) {this.name=name;this.age=age;this.addr=addr;}//String name="张三";int age=20;String addr="成都";@Overridepublic String toString() {return "Student [name=" + name + ", age=" + age + ", addr=" + addr + "]";}
}

8.泛型

8.1概念

泛型是(Generics)是JDK1.5 的一个新特性,其实就是一个『语法糖』,本质上就是编译器为了提供更好的可读性而提供的一种小手段,小技巧,虚拟机层面是不存在所谓『泛型』的概念的。

8.2作用

通过泛型的语法定义,约束集合元素的类型,进行安全检查,把错误显示在编译期
l  代码通用性更强,后面有案例
l  泛型可以提升程序代码的可读性,但它只是一个语法糖(编译后这样的东西就被删除,不出现在最终的源代码中),对于JVM运行时的性能是没有任何影响的。

9.Collection接口

9.1概述

英文名称Collection,是用来存放对象的数据结构。其中长度可变,而且集合中可以存放不同类型的对象。并提供了一组操作成批对象的方法。
数组的缺点:长度是固定不可变的,访问方式单一,插入、删除等操作繁琐。

9.2集合的继承结构

Collection接口
-- List接口  : 数据有序,可以重复。-- ArrayList子类-- LinkedList子类
-- Set接口  : 数据无序,不可以存重复值-- HashSet子类
-- Map接口  : 键值对存数据
-- HashMap
Collections工具类

9.3常用的方法

boolean add(E e):添加元素。
boolean addAll(Collection  c):把小集合添加到大集合中
boolean contains(Object o) : 如果此 collection 包含指定的元素,则返回 true。
boolean isEmpty() :如果此 collection 没有元素,则返回 true。
Iterator<E> iterator():返回在此 collection 的元素上进行迭代的迭代器。
boolean remove(Object o) :从此 collection 中移除指定元素的单个实例。
int size() :返回此 collection 中的元素数。
Objec[] toArray():返回对象数组

9.4List接口

概述

有序的 collection(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。

特点

1、 数据有序
2、 允许存放重复元素
3、 元素都有索引

常用方法

ListIterator<E> listIterator()返回此列表元素的列表迭代器(按适当顺序)。ListIterator<E> listIterator(int index)返回列表中元素的列表迭代器(按适当顺序),从列表的指定位置开始。void add(int index, E element)在列表的指定位置插入指定元素(可选操作)。
boolean addAll(int index, Collection<? extends E> c)将指定 collection 中的所有元素都插入到列表中的指定位置(可选操作)。List<E> subList(int fromIndex, int toIndex)返回列表中指定的 fromIndex(包括 )和 toIndex(不包括)之间的部分视图。
E get(int index)返回列表中指定位置的元素。
int indexOf(Object o)返回此列表中第一次出现的指定元素的索引;如果此列表不包含该元素,则返回 -1。

9.4.1ArrayList

概述
存在于java.util包中。
内部用数组存放数据,封装了数组的操作,每个对象都有下标。
内部数组默认初始容量是10。如果不够会以1.5倍容量增长。
查询快,增删数据效率会降低。
创建对象
new ArrayList():初始容量是10
9.4.2LinkedList
概述
双向链表,两端效率高。底层就是数组和链表实现的。

常用方法
add()
get()
size()
remove(i)
remove(数据)
iterator()
addFirst()  addLast()
getFirst()  getLast()
removeFirst()  removeLast()

9.5.1List接口

概述
一个不包含重复元素的 collection。
数据无序(因为set集合没有下标)。
由于集合中的元素不可以重复。常用于给数据去重。
特点
HashSet:底层是哈希表,包装了HashMap,相当于向HashSet中存入数据时,会把数据作为K,存入内部的HashMap中。当然K仍然不许重复。
TreeSet:底层就是TreeMap,也是红黑树的形式,便于查找数据。
HashMap实现中,当哈希值相同的对象,会在同一个hash值的位置存储不同属性的数据。
常用方法
boolean add(E e):添加元素。
boolean addAll(Collection  c):把小集合添加到大集合中
boolean contains(Object o) : 如果此 collection 包含指定的元素,则返回 true。
boolean isEmpty() :如果此 collection 没有元素,则返回 true。
Iterator<E> iterator():返回在此 collection 的元素上进行迭代的迭代器。
boolean remove(Object o) :从此 collection 中移除指定元素的单个实例。
int size() :返回此 collection 中的元素数。
Objec[] toArray():返回对象数组

9.5.2Map接口

概述
java.util接口 Map<K,V>
类型参数: K - 此映射所维护的键的类型V - 映射值的类型
也叫哈希表、散列表。常用于存 键值对 结构的数据。其中的键不能重复,值可以重复.

特点
 可以根据键 提取对应的值 键不允许重复,如果重复值会被覆盖
存放的都是无序数据
初始容量是16,默认的加载因子是0.75
继承结构

常用方法
void clear()从此映射中移除所有映射关系(可选操作)。boolean containsKey(Object key)如果此映射包含指定键的映射关系,则返回 true。boolean containsValue(Object value)如果此映射将一个或多个键映射到指定值,则返回 true。V get(Object key)返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null。boolean isEmpty()如果此映射未包含键-值映射关系,则返回 true。V put(K key, V value)将指定的值与此映射中的指定键关联(可选操作)。void putAll(Map<? extends K,? extends V> m)从指定映射中将所有映射关系复制到此映射中(可选操作)。V remove(Object key)如果存在一个键的映射关系,则将其从此映射中移除(可选操作)。int size()返回此映射中的键-值映射关系数。
Set<Map.Entry<K,V>> entrySet()返回此映射所包含的映射关系的 Set 视图。
HashMap
  HashMap的键要同时重写hashCode()和equals()
hashCode()用来判断确定hash值是否相同
equals()用来判断属性的值是否相同
-- equals()判断数据如果相等,hashCode()必须相同
-- equals()判断数据如果不等,hashCode()尽量不同

10.Collections工具类

常用方法

Collections.sort(List<> list):根据元素的自然顺序 对指定列表按升序进行排序。
Collections.max():根据元素的自然顺序,返回给定 collection 的最大元素。
Collections.min():根据元素的自然顺序 返回给定 collection 的最小元素。
Collections.swap(List,i,j):在指定列表的指定位置处交换元素。
Collections.addAll()

过一遍Java中的API相关推荐

  1. java中常用API、Scanner类、匿名对象、Random类、ArrayList类、对象数组

    java中常用API: API:Application Programming Interface,应用程序编程接口.Java API是JDK中提供给我们使用的类的说明文档.这些类将底层的代码实现封装 ...

  2. Java中常用 API(第一部分)

    1.API API 概述: API(Application Programming Interface),应用程序编程接口.Java API是一本程序员的 字典 ,是JDK中提供给我们使用的类的说明文 ...

  3. Java中REST API使用示例——基于云平台+云服务打造自己的在线翻译工具

    做为一个程序员可能在学习技术,了解行业新动态,解决问题时经常需要阅读英文的内容:而像我这样的英文小白就只能借助翻译工具才能理解个大概:不禁经常感慨,英文对学习计算机相关知识太重要了!最近发现IBM的云 ...

  4. JAVA中的API是什么?

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

  5. java中调用api的方式(postJsonHTTP)

    //设置格式以及字符编码private static final MediaType JSON = MediaType.parse("application/json; charset=ut ...

  6. JAVA中常用api学习思维导图

  7. JAVA中API和SPI的区别

    * API(Application Programming Interface ) 在java中,API是指可以用来完成某项功能的类.接口或者方法. SPI(Service Provider Inte ...

  8. java 十六进制转十进制_JAVA知识-分析JAVA中的重点和难点

    Java中有很多内容在开发项目的过程中并不常用,但是却是很重要的部分,为了避免忘记,今天重新温习了一遍Java中的重点和难点,借此机会记录一下方便以后查找. 本文主要分为以下几个部分: 1.进制的相互 ...

  9. java难点_JAVA-详细分析JAVA中的难点与重点

    Java中有很多内容在开发项目的过程中并不常用,但是却是很重要的部分,为了避免忘记,今天重新温习了一遍Java中的重点和难点,借此机会记录一下方便以后查找. 本文主要分为以下几个部分: 1.进制的相互 ...

最新文章

  1. C4D+ PS打造城市场景 Create a Cityscape with Cinema 4D + Photoshop
  2. 医学图像分类_TauMed:医学诊断领域中的图像分类测试数据扩增
  3. 构建云安全架构的技巧
  4. c语言 char memcpy,在C中使用memcpy复制无符号字符数组
  5. 阿里云主机安装Memcached扩展优化WordPress
  6. win7 mysql msi_windows下的Mysql安装与基本使用(msi)
  7. 201521123023《Java程序设计》第13周学习总结
  8. 制备pdms膜的方法_船体用钢板基底超疏水表面的制备和性能
  9. 无迹卡尔曼滤波器(UKF)
  10. 微课|中学生可以这样学Python(1.4节):安装扩展库
  11. 剑指offer面试题54. 二叉搜索树的第k大节点(逆中序遍历)
  12. org.apache.ibatis.builder.BuilderException: An invalid property ‘jdbcType ‘ was found in mapping
  13. defender 报备_微软Defender获AV-TEST杀软评测最高分
  14. 解决VMware 7在Windows 7上无法上网的问题
  15. Apache优化配置
  16. 锐捷服务器有什么型号,锐捷管理服务器RG-RCMS-16
  17. vcpkg: bootstrap-vcpkg.bat下载失败问题
  18. 2021-05-12
  19. Java经典书籍推荐
  20. 怎么将flac文件转成mp3文件

热门文章

  1. (转载)-关于sg函数的理解
  2. linux上网本系统下载,上网本操作系统veket linux5.192b正式版下载
  3. 图灵、图灵机和图灵测试
  4. idea如何连接达梦数据库
  5. 如何使用python实现简单爬取网页数据并导入MySQL中的数据库
  6. Dennard Scaling
  7. Windows常用快捷组合键整理Dos命令基础集合
  8. BERT模型—5.BERT模型在句子分类任务(意图识别)上的微调
  9. 2022暑期项目实训(一)
  10. long term recurrent convolutional networks for visual recognition and description