【Java基础】java常用api汇总

2020-12-19 14:52发布

4条回答
天天
2楼 · 2020-12-19 15:10

Java常用的api有:String类、StringBuilder类、Arrays类、Integer类、Date时间类。


希希
3楼 · 2020-12-19 15:24

Java常用的api有:String类、StringBuilder类、Arrays类、Integer类、Date时间类。


V_Faln
4楼 · 2021-02-24 19:03

java.lang.Math

提供sin, cos, tan, exp, log, log10 等类方法,PI和E等类字段

java.lang.String(StringBuilder线程不安全,StringBuffer线程安全)


char charAt(int index)
返回给定位置的代码单元
boolean equals(Object other)
boolean equalsIngoreCase(String other)    如果字符串与other相等,返回true
忽略大小写
int length()    返回字符串的长度
String substring(int beginIndex)
String substring(int beginIndex, int endIndex)    返回一个新字符串,包含原始字符串从beginIndex到串尾或到endIndex-1的所有代码单元
String toLowerCase()
String toUpperCase()
返回小写字符串
返回大写字符串
int indexOf(String str[, int fromIndex])
int lastIndexOF(String str[, int fromIndex])    返回第一个/最后一个子串的位置,从起始位置或者fromIndex开始
java.util.Scanner

Scanner(InputStream in)
Scanner(File f)
Scanner(String data)    用给定的输入流创建一个Scanner对象
例子:Scanner in = new Scanner(System.in)
String nextLine()    读取输入的下一行内容
String next()    读取输入的下一个单词(以空格作为间隔)
int nextInt()
double nextDouble()    读取并转换下一个表示整数或浮点数的字符序列
for each循环
for(variable : collection) statement
collection这一集合表达式必须是一个数组或者是一个实现了Iterable接口的类对象

java.util.Arrays


static String toString(type[] a)    返回包含a中数据元素的字符串
static void sort(type[] a)    采用优化的快速排序算法对数组进行排序
static void binarySearch(type[] a, type v)    使用二分搜索算法查找值v
static Boolean equals(type[] a, type[] b)    如果两个数字相同,返回true
数组名.length
数组长度

java.util.Radom


Random()    构建一个新的随机数生成器
int nextInt(int n)    返回一个 0 ~ n-1之间的随机数
java.lang.Object

String toString()    返回描述该对象值的字符串。在自定义类中应覆盖这个方法
boolean equals(Object otherObject)    比较两个对象是否相等。在自定义类中应覆盖这个方法
Class getClass()
int hashCode()
返回包含对象信息的类对象
返回对象的散列码
static wait()
static notify()
static notifyAll()     

java.lang.Class


String getName()    返回这个类的名字
static Class forName(String className)    返回描述类名为className的Class对象
Object newInstance()    返回这个类的一个新实例
Field[] getFields()
Field[] getDeclareFields()    getFields()返回一个包含Field对象的数组,这些对象记录了这个类或其超类的公有域
getDeclareFields()返回的Field对象记录了这个类的全部域
Method[] getMethods()
Method[] getDeclareMethods()    getMethods()返回一个包含Method对象的数组,这些对象记录了这个类或其超类的公用方法
getDeclareMethods()返回的Field对象记录了这个类的全部方法
Constructor[] getConstructors()
Constructor[] getDeclareConstructors()
getConstructors()返回一个包含Constructor对象的数组,这些对象记录了这个类的公有构造器
getDeclareConstructors()返回的Constructor对象记录了这个类的全部构造器

java.util.Collection

Iterator iterator()    返回一个用于访问集合中每个元素的迭代器
int size()    返回当前存储在集合中的元素个数
boolean isEmpty()    如果集合中没有元素,返回true
boolean contains(Object obj)
boolean containAll(Collection other)    如果集合中包含相等对象,返回true
boolean add(Object element)
boolean addAll(Collection other)
将一个元素添加到集合中,集合改变返回true
boolean remove(Object element)
boolean removeAll(Collection other)
删除相等元素,成功删除返回true

java.util.Iterator

boolean hasNext()    如果存在可访问的元素,返回true
E next()    返回将要访问的下一个对象
void remove()    删除上次访问的元素

Java库中具体集合
ArrayList    一种可以动态增长和缩减的索引序列
LinkedList    一种可以在任何位置进行高效插入和删除操作的有序序列
ArrayDeque    一种用循环数组实现的双端队列
HashSet    一种没有重复元素的无序集合
TreeSet    一种有序集
EnumSet    一种包含枚举类型值的集合
LinkedHashSet    一种可以记住元素插入次序的集
PriorityQueue    一种允许高效删除最小元素的集合
HashMap    一种存储键/值关联的数据结构
TreeMap    一种键值有序排列的映射表
EnumMap    一种键值属于枚举类型的映射表
LinkedHashMap    一种可以记住键/值项添加次序的映射表
WeakHashMap    一种其值无用武之地后可以被垃圾回收期回收的映射表
IdentityHashMap    一种用==而不是用equals比较键值的映射表
1、List
List接口扩展自Collection,它可以定义一个允许重复的有序集合,从List接口中的方法来看,List接口主要是增加了面向位置的操作,允许在指定位置上操作元素,同时增加了一个能够双向遍历线性表的新列表迭代器ListIterator。List接口有动态数组(ArrayList类)和双端链表(LinkedList类)两种实现方式。

java.util.List


ListIterator listIterator()
ListIterator listIterator(int index)
返回一个列表迭代器
迭代器第一次调用next返回给定位置元素
void add(int i, E element)
void addAll(int i, Colletion elements)    向集合指定位置添加元素
E remove(int i)    删除给定位置元素并返回
E get(int i)    获得给定位置元素并返回
E set(int i, E element)
设置给定位置元素并返回原来的元素
int indexOf(Object element)
int lastIndexOf(Object element)    返回与指定元素相等元素在列表中第一次出现的位置
返回与指定元素相等元素在列表中最后一次出现的位置
java.util.ListIterator
void add(E Element)    在当前位置添加一个元素
void set(E Element)    用新元素代替next或previous上次访问的元素
boolean havaPrevious()    反向迭代列表时是否还有可供访问的值
E previous()    返回前一个对象
int nextIndex()    返回下一次调用next时返回的元素索引
int previousIndex()    返回下一次调用previous时返回的元素索引

java.util.ArrayList


ArrayList()
构造一个空数组列表
boolean add(E obj)    在数组列表尾端添加一个元素,永远返回true
int size()    返回存储在数组中的当前元素数量
void set(int index, E obj)    设置数组列表指定位置的值
E get(int index)    获的指定位置的元素值
void add(int index, E obj)    向后移动元素,插入元素
E remove(int index)    删除一个元素,并将后面元素前移
java.util.LinkedList

LinkedList()
LinkedList(Colletion elements)    构造一个链表
void addFirst(E element)
void addLast(E element)    添加元素到表头或表尾
E getFirst()
E getLast()    返回表头或表尾的元素
E removeFirst()
E removeLast()    删除表头或表尾的元素并返回
Set
Set接口扩展自Collection,它与List的不同之处在于,规定Set的实例不包含重复的元素。在一个规则集内,一定不存在两个相等的元素。AbstractSet是一个实现Set接口的抽象类,Set接口有三个具体实现类,分别是散列集HashSet、链式散列集LinkedHashSet和树形集TreeSet。

java.util.HashSet


HashSet()
HashSet(Colletion elements)
HashSet(int initialCapacity)    构造散列表
java.util.LinkedHashSet
LinkedHashSet是用一个链表实现来扩展HashSet类,它支持对规则集内的元素排序。HashSet中的元素是没有被排序的,而LinkedHashSet中的元素可以按照它们插入规则集的顺序提取。

java.util.TreeSet
TreeSet扩展自AbstractSet,并实现了NavigableSet,AbstractSet扩展自AbstractCollection,树形集是一个有序的Set,其底层是一颗树,用红黑树实现,这样就能从Set里面提取一个有序序列了。在实例化TreeSet时,我们可以给TreeSet指定一个比较器Comparator来指定树形集中的元素顺序。树形集中提供了很多便捷的方法。

java.util.Queue(接口)

boolean add(E element)
boolean offer(E element)    如果队列没有满,将元素添加到队列尾部
E remove()
E poll()    如果队列不为空,删除并返回这个队列头部元素
E element()
E peek()    如果队列不为空,返回这个队列头部元素
java.util.Deque
接口Deque,是一个扩展自Queue的双端队列,它支持在两端插入和删除元素,Deque接口由ArrayDeque和LinkedList这两个类实现,所以通常我们可以使用LinkedList来创建一个队列。PriorityQueue类实现了一个优先队列,优先队列中元素被赋予优先级,拥有高优先级的先被删除。

java.util.ProrityQueue

优先级队列中的元素可以按任意顺序插入,却总是按照排序的顺序进行检索。优先级队列由堆实现。堆是一个可以自我调整的二叉树,对树执行添加和删除操作,可以让最小元素移动到根(最小堆),而不必花费时间对元素进行排序

4、Map接口

Map,图,是一种存储键值对映射的容器类,在Map中键可以是任意类型的对象,但不能有重复的键,每个键都对应一个值,真正存储在图中的是键值构成的条目。

java.util.Map


V get(Object key)
获得与键对应的值
V put(K key, V value)
V putAll(Map entries)    将键与对应的值关系插入到映射中
boolean containKey(Object key)
boolean containValue(Object value)    查询
java.util.HashMap
HashMap是基于哈希表的Map接口的非同步实现,继承自AbstractMap,AbstractMap是部分实现Map接口的抽象类。在之前的版本中,HashMap采用数组+链表实现,即使用链表处理冲突,同一hash值的链表都存储在一个链表里。但是当链表中的元素较多,即hash值相等的元素较多时,通过key值依次查找的效率较低。而JDK1.8中,HashMap采用数组+链表+红黑树实现,当链表长度超过阈值(8)时,将链表转换为红黑树,这样大大减少了查找时间。
java.util.LinkedHashMap

LinkedHashMap继承自HashMap,它主要是用链表实现来扩展HashMap类,HashMap中条目是没有顺序的,但是在LinkedHashMap中元素既可以按照它们插入图的顺序排序,也可以按它们最后一次被访问的顺序排序。

java.util.TreeHashMap

TreeMap基于红黑树数据结构的实现,键值可以使用Comparable或Comparator接口来排序。TreeMap继承自AbstractMap,同时实现了接口NavigableMap,而接口NavigableMap则继承自SortedMap。SortedMap是Map的子接口,使用它可以确保图中的条目是排好序的。在实际使用中,如果更新图时不需要保持图中元素的顺序,就使用HashMap,如果需要保持图中元素的插入顺序或者访问顺序,就使用LinkedHashMap,如果需要使图按照键值排序,就使用TreeMap。

下面主要介绍一下其它几个特殊的集合类,Vector、Stack、HashTable、ConcurrentHashMap以及CopyOnWriteArrayList。

java.util.Vector

用法上,Vector与ArrayList基本一致,不同之处在于Vector使用了关键字synchronized将访问和修改向量的方法都变成同步的了,所以对于不需要同步的应用程序来说,类ArrayList比类Vector更高效。

java.util.Stack

Stack,栈类,是Java2之前引入的,继承自类Vector。

java.util.HashTable

HashTable和前面介绍的HashMap很类似,它也是一个散列表,存储的内容是键值对映射,不同之处在于,HashTable是继承自Dictionary的,HashTable中的函数都是同步的,这意味着它也是线程安全的,另外,HashTable中key和value都不可以为null。

java.lang.Runnable

void run()    必须覆盖这个方法
java.lang.Thread

Thread()
Thread(Runnable target)    构造器
void start()    启动线程
void run()    如果没有重写,调用关联Runnable的run方法
void interupt()    中断线程(中止阻塞状态,对运行线程无作用)
void setPriority(int newPriority)    设置优先级(1-10,默认5)
static void yield()
static void sleep(long millis)    使当前线程处于让步状态(让步于同优先级或高优先级线程)
休眠
void setDaemon()    设置为守护线程
Thread.State getState()    获得线程当前状态


征戰撩四汸
5楼 · 2022-03-14 18:06

java.lang.Math

提供sin, cos, tan, exp, log, log10 等类方法,PI和E等类字段

java.lang.String(StringBuilder线程不安全,StringBuffer线程安全)


char charAt(int index)
返回给定位置的代码单元
boolean equals(Object other)
boolean equalsIngoreCase(String other)    如果字符串与other相等,返回true
忽略大小写
int length()    返回字符串的长度
String substring(int beginIndex)
String substring(int beginIndex, int endIndex)    返回一个新字符串,包含原始字符串从beginIndex到串尾或到endIndex-1的所有代码单元
String toLowerCase()
String toUpperCase()
返回小写字符串
返回大写字符串
int indexOf(String str[, int fromIndex])
int lastIndexOF(String str[, int fromIndex])    返回第一个/最后一个子串的位置,从起始位置或者fromIndex开始
java.util.Scanner

Scanner(InputStream in)
Scanner(File f)
Scanner(String data)    用给定的输入流创建一个Scanner对象
例子:Scanner in = new Scanner(System.in)
String nextLine()    读取输入的下一行内容
String next()    读取输入的下一个单词(以空格作为间隔)
int nextInt()
double nextDouble()    读取并转换下一个表示整数或浮点数的字符序列
for each循环
for(variable : collection) statement
collection这一集合表达式必须是一个数组或者是一个实现了Iterable接口的类对象

java.util.Arrays


static String toString(type[] a)    返回包含a中数据元素的字符串
static void sort(type[] a)    采用优化的快速排序算法对数组进行排序
static void binarySearch(type[] a, type v)    使用二分搜索算法查找值v
static Boolean equals(type[] a, type[] b)    如果两个数字相同,返回true
数组名.length
数组长度

java.util.Radom


Random()    构建一个新的随机数生成器
int nextInt(int n)    返回一个 0 ~ n-1之间的随机数
java.lang.Object

String toString()    返回描述该对象值的字符串。在自定义类中应覆盖这个方法
boolean equals(Object otherObject)    比较两个对象是否相等。在自定义类中应覆盖这个方法
Class getClass()
int hashCode()
返回包含对象信息的类对象
返回对象的散列码
static wait()
static notify()
static notifyAll()     

java.lang.Class


String getName()    返回这个类的名字
static Class forName(String className)    返回描述类名为className的Class对象
Object newInstance()    返回这个类的一个新实例
Field[] getFields()
Field[] getDeclareFields()    getFields()返回一个包含Field对象的数组,这些对象记录了这个类或其超类的公有域
getDeclareFields()返回的Field对象记录了这个类的全部域
Method[] getMethods()
Method[] getDeclareMethods()    getMethods()返回一个包含Method对象的数组,这些对象记录了这个类或其超类的公用方法
getDeclareMethods()返回的Field对象记录了这个类的全部方法
Constructor[] getConstructors()
Constructor[] getDeclareConstructors()
getConstructors()返回一个包含Constructor对象的数组,这些对象记录了这个类的公有构造器
getDeclareConstructors()返回的Constructor对象记录了这个类的全部构造器
断言
assert 条件;

assert 条件:表达式



相关问题推荐

  • 回答 156

    对于每一位才开始接触JAVA的新手来说,先不要管算法和数据结构,大多数简单的程序不需要用到算法和数据结构,所以当你真正需要时再去学习。编程一段时间以后,你就会知道在哪些地方用到他们。这时知道算法的名字并了解它们的功能,然后动手去实践。当我们在去...

  • 回答 93

    2个都很好就业,更关键的是要学得到东西

  • 回答 12
    已采纳

    获取Map集合中所有的key可以通过map集合的keySet()方法获取例如:    Map map = new HashMap();    map.put(xx,xx); //存放数据    //.... 省略    Set set = map.keySet();    //可以通过迭代器进行测试    Iterator iter = set.iter...

  • 回答 56
    已采纳

    不同年龄,不同掌握程度,学历,找工作城市,面试能力这是一个多方面影响的结果,如果是平均值的话,全国平均薪资14k左右

  • 回答 38

    具体学多久,根据自己的学习力,自律性、解决问题能力来决定若系统性学习,跟着讲师的节奏走,大概半年左右,有专业的讲师把课程进行规划,尽心系统学习,有问题,讲师会帮忙解决,学习的效率很高,避免了自学中出现各种问题解决不了,而耽误很多时间,可能会...

  • 回答 23
    已采纳

    (1)idea启动时会有两个快捷方式,安装完后默认生成在桌面的是32位的idea的快捷方式,如果我们使用这个快捷方式运行大项目,一般都会很卡。解决方法是找到idea的安装目录,然后进入bin文件夹,找到名称为idea64的应用程序,右键他生成桌面快捷方式。以后每次...

  • BIO与NIO、AIO的区别2020-05-19 15:59
    回答 4
    已采纳

    IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。一、BIO     在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在客户端启动Socket来对服务端进行通信,默认情况下服务端需要...

  • Java方法的命名规则2021-04-06 19:07
    回答 31

    ava是一种区分字母的大小写的语言,所以我们在定义变量名的时候应该注意区分大小写的使用和一些规范,接下来我们简单的来讲讲Java语言中包、类、变量等的命名规范。(一)Package(包)的命名Package的名字应该都是由一个小写单词组成,例如com、xuetang9、compan...

  • 回答 2

    public class Point {    private int x;    private int y;    public int getX() {        return x;    }    public void setX(int x) {        this.x = x;    }    public int getY() {        return y;    } ...

  • 回答 6

    经典版单例模式public class Singleton {        private static Singleton uniqueInstance;//利用一个静态常量来记录singleton类的唯一实例。     private Singleton() {     }     public static  Singleton getInstance()...

  • 回答 3

    哈希表的长度一般是定长的,在存储数据之前我们应该知道我们存储的数据规模是多大,应该尽可能地避免频繁地让哈希表扩容。但是如果设计的太大,那么就会浪费空间,因为我们跟不用不到那么大的空间来存储我们当前的数据规模;如果设计的太小,那么就会很容易发...

  • 回答 14

    1. DOM(Document Object Model)        DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准。DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才...

  • 回答 19

    1)作用不同: throw用于程序员自行产生并抛出异常; throws用于声明在该方法内抛出了异常2) 使用的位置不同: throw位于方法体内部,可以作为单独语句使用; throws必须跟在方法参数列表的后面,不能单独使用。3)内容不同: throw抛出一个异常对象,且只能是...

  • 回答 11

    基本执行过程如下:1)程序首先执行可能发生异常的try语句块。2)如果try语句没有出现异常则执行完后跳至finally语句块执行;3)如果try语句出现异常,则中断执行并根据发生的异常类型跳至相应的catch语句块执行处理。4)catch语句块可以有多个,分别捕获不同类型...

  • 回答 20

    100-199 用于指定客户端应相应的某些动作。 200-299 用于表示请求成功。 300-399 用于已经移动的文件并且常被包含在定位头信息中指定新的地址信息。 400-499 用于指出客户端的错误。 400 语义有误,当前请求无法被服务器理解。 401 当前请求需要用户验证...

  • 回答 16

    异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误,只要程序设计得没有问题通常就不会发生。受检异常跟程序运行的上下文环境有关,即使程序设计无误,仍然可能因使用的问题而引发。Java编译...

没有解决我的问题,去提问