Java教程

力扣、牛客刷题 java各类常用方法整理 算法

本文主要是介绍力扣、牛客刷题 java各类常用方法整理 算法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

我自认为做题中一些java类的常用方法,多数整理自https://www.matools.com/api/java8。
使用方法:先看类所属的大类、接口方法,再看类方法(继承了的方法有些没写)。
另外自认为不常用的也没写

文章目录

  • 1.Collection接口(List、Set)
    • 1.List
      • ArrayList
      • LinkedList
      • Stack
    • 2.Set 唯一值,无键(没什么特别的方法)
      • HashSet 没什么特别的方法,它所有的方法:
      • TreeSet特别的方法(元素唯一,且按照顺序排序)
  • 2.Queue
    • 1.PriorityQueue
    • 2.Deque
  • 3.Map接口(HashMap、TreeMap)
    • HashMap 没什么特别的方法
    • TreeMap
  • 4.Object
    • Number
      • Integer(另有Float、Double...不全写了)
    • Character
    • String
    • StringBuilder
    • Array数组
    • Arrays
    • Scanner

1.Collection接口(List、Set)

img

常用类:

ArrayList ,HashSet , LinkedList , PriorityQueue, Stack , TreeSet , Vector

修饰符和类型方法及描述
booleanadd(E e)确保此集合包含指定的元素(可选操作)。
booleanaddAll(Collection<? extends E> c)将指定集合中的所有元素添加到此集合(可选操作)。
voidclear()从此集合中删除所有元素(可选操作)。
booleancontains(Object o)如果此集合包含指定的元素,则返回 true
booleancontainsAll(Collection<?> c)如果此集合包含指定 集合中的所有元素,则返回true。
booleanequals(Object o)将指定的对象与此集合进行比较以获得相等性。
booleanisEmpty()如果此集合不包含元素,则返回 true
Iterator<E>iterator()返回此集合中的元素的迭代器。
booleanremove(Object o)从该集合中删除指定元素的单个实例(如果存在)(可选操作)。
booleanremoveAll(Collection<?> c)删除指定集合中包含的所有此集合的元素(可选操作)。
intsize()返回此集合中的元素数。
Object[]toArray()返回一个包含此集合中所有元素的数组。

1.List

voidadd(int index, E element)将指定的元素插入此列表中的指定位置(可选操作)。
Eget(int index)返回此列表中指定位置的元素。
intindexOf(Object o)返回此列表中指定元素的第一次出现的索引,如果此列表不包含元素,则返回-1。
Eset(int index, E element)用指定的元素(可选操作)替换此列表中指定位置的元素。
default voidsort(Comparator<? super E> c)使用随附的 Comparator排序此列表来比较元素。
List<E>subList(int fromIndex, int toIndex)返回此列表中指定的 fromIndex (含)和 toIndex之间的视图。

ArrayList

intlastIndexOf(Object o)返回此列表中指定元素的最后一次出现的索引,如果此列表不包含元素,则返回-1。

LinkedList

voidaddFirst(E e)在该列表开头插入指定的元素。
voidaddLast(E e)将指定的元素追加到此列表的末尾。
EgetFirst()返回此列表中的第一个元素。
EgetLast()返回此列表中的最后一个元素。
intlastIndexOf(Object o)返回此列表中指定元素的最后一次出现的索引,如果此列表不包含元素,则返回-1。
booleanoffer(E e)将指定的元素添加为此列表的尾部(最后一个元素)。
booleanofferFirst(E e)在此列表的前面插入指定的元素。
booleanofferLast(E e)在该列表的末尾插入指定的元素。
Epeek()检索但不删除此列表的头(第一个元素)。
//另有peekFirst() peekLast()
Epoll()检索并删除此列表的头(第一个元素)。
//pollFirst() pollLast()
Epop()从此列表表示的堆栈中弹出一个元素。
voidpush(E e)将元素推送到由此列表表示的堆栈上。

Stack

Modifier and TypeMethod and Description
booleanempty()测试此堆栈是否为空。
Epeek()查看此堆栈顶部的对象,而不从堆栈中删除它。
Epop()删除此堆栈顶部的对象,并将该对象作为此函数的值返回。
Epush(E item)将项目推送到此堆栈的顶部。
intsearch(Object o)返回一个对象在此堆栈上的基于1的位置。

2.Set 唯一值,无键(没什么特别的方法)

HashSet 没什么特别的方法,它所有的方法:

Modifier and TypeMethod and Description
booleanadd(E e)将指定的元素添加到此集合(如果尚未存在)。
voidclear()从此集合中删除所有元素。
Objectclone()返回此 HashSet实例的浅层副本:元素本身不被克隆。
booleancontains(Object o)如果此集合包含指定的元素,则返回 true
booleanisEmpty()如果此集合不包含元素,则返回 true
Iterator<E>iterator()返回此集合中元素的迭代器。
booleanremove(Object o)如果存在,则从该集合中删除指定的元素。
intsize()返回此集合中的元素数(其基数)。

TreeSet特别的方法(元素唯一,且按照顺序排序)

Efirst()返回此集合中当前的第一个(最低)元素。
Efloor(E e)返回此集合中最大的元素小于或等于给定元素,如果没有这样的元素,则返回 null
Elast()返回此集合中当前的最后(最高)元素。
Elower(E e)返回这个集合中最大的元素严格小于给定的元素,如果没有这样的元素,则返回 null
EpollFirst()检索并删除第一个(最低)元素,或返回 null如果该集合为空。
EpollLast()检索并删除最后一个(最高)元素,如果此集合为空,则返回 null
NavigableSet<E>subSet(E fromElement, boolean fromInclusive, E toElement, boolean toInclusive)返回该集合的部分的视图,其元素的范围从 fromElementtoElement
SortedSet<E>subSet(E fromElement, E toElement)返回此集合的部分的视图,其元素的范围从 fromElement (含)到 toElement ,排他。
SortedSet<E>tailSet(E fromElement)返回此组件的元素大于或等于 fromElement的部分的视图。
NavigableSet<E>tailSet(E fromElement, boolean inclusive)返回此集合的部分的视图,其元素大于(或等于,如果 inclusive为真) fromElement

2.Queue

booleanadd(E e)将指定的元素插入到此队列中,如果可以立即执行此操作,而不会违反容量限制, true在成功后返回 IllegalStateException如果当前没有可用空间,则抛出IllegalStateException。
Eelement()检索,但不删除,这个队列的头。
booleanoffer(E e)如果在不违反容量限制的情况下立即执行,则将指定的元素插入到此队列中。
Epeek()检索但不删除此队列的头,如果此队列为空,则返回 null
Epoll()检索并删除此队列的头,如果此队列为空,则返回 null
Eremove()检索并删除此队列的头。

1.PriorityQueue

booleanadd(E e)将指定的元素插入到此优先级队列中。
voidclear()从此优先级队列中删除所有元素。
Comparator<? super E>comparator()返回用于为了在这个队列中的元素,或比较null如果此队列根据所述排序natural ordering的元素。
booleancontains(Object o)如果此队列包含指定的元素,则返回 true
Iterator<E>iterator()返回此队列中的元素的迭代器。
booleanoffer(E e)将指定的元素插入到此优先级队列中。
intsize()返回此集合中的元素数。
Object[]toArray()返回一个包含此队列中所有元素的数组。
<T> T[]toArray(T[] a)返回一个包含此队列中所有元素的数组; 返回的数组的运行时类型是指定数组的运行时类型。

2.Deque

addLast(E e) / offerLast(E e)添加元素到队尾
E removeFirst() / E pollFirst()取队首元素并删除
E getFirst() / E peekFirst()取队首元素但不删除
addFirst(E e) / offerFirst(E e)添加元素到队首
E removeLast() / E pollLast()取队尾元素并删除
E getLast() / E peekLast()取队尾元素但不删除

3.Map接口(HashMap、TreeMap)

img

Modifier and TypeMethod and Description
voidclear()从该地图中删除所有的映射(可选操作)。
booleancontainsKey(Object key)如果此映射包含指定键的映射,则返回 true
booleancontainsValue(Object value)如果此地图将一个或多个键映射到指定的值,则返回 true
booleanequals(Object o)将指定的对象与此映射进行比较以获得相等性。
default voidforEach(BiConsumer<? super K,? super V> action)对此映射中的每个条目执行给定的操作,直到所有条目都被处理或操作引发异常。
Vget(Object key)返回到指定键所映射的值,或 null如果此映射包含该键的映射。
default VgetOrDefault(Object key, V defaultValue)返回到指定键所映射的值,或 defaultValue如果此映射包含该键的映射。
booleanisEmpty()如果此地图不包含键值映射,则返回 true
Vput(K key, V value)将指定的值与该映射中的指定键相关联(可选操作)。
voidputAll(Map<? extends K,? extends V> m)将指定地图的所有映射复制到此映射(可选操作)。
default VputIfAbsent(K key, V value)如果指定的键尚未与某个值相关联(或映射到 null )将其与给定值相关联并返回 null ,否则返回当前值。
Vremove(Object key)如果存在(从可选的操作),从该地图中删除一个键的映射。
default Vreplace(K key, V value)只有当目标映射到某个值时,才能替换指定键的条目。
default booleanreplace(K key, V oldValue, V newValue)仅当当前映射到指定的值时,才能替换指定键的条目。
default voidreplaceAll(BiFunction<? super K,? super V,? extends V> function)将每个条目的值替换为对该条目调用给定函数的结果,直到所有条目都被处理或该函数抛出异常。
intsize()返回此地图中键值映射的数量。

HashMap 没什么特别的方法

TreeMap

Modifier and TypeMethod and Description
Map.Entry<K,V>ceilingEntry(K key)返回与大于或等于给定键的最小键相关联的键值映射,如果没有此键,则 null
KceilingKey(K key)返回大于或等于给定键的 null键,如果没有此键,则返回 null
Comparator<? super K>comparator()返回用于订购此地图中的键的比较器,或null如果此地图使用其键的natural ordering 。
NavigableSet<K>descendingKeySet()返回此地图中包含的键的相反顺序NavigableSet
NavigableMap<K,V>descendingMap()返回此映射中包含的映射的反向排序视图。
Map.Entry<K,V>firstEntry()返回与该地图中的最小键相关联的键值映射,如果地图为空,则返回 null
KfirstKey()返回此地图中当前的第一个(最低)键。
Map.Entry<K,V>floorEntry(K key)返回与小于或等于给定键的最大键相关联的键值映射,如果没有此键,则 null
KfloorKey(K key)返回小于或等于给定键的最大键,如果没有这样的键,则返回 null
voidforEach(BiConsumer<? super K,? super V> action)对此映射中的每个条目执行给定的操作,直到所有条目都被处理或操作引发异常。
Vget(Object key)返回到指定键所映射的值,或 null如果此映射包含该键的映射。
Map.Entry<K,V>higherEntry(K key)返回与最小密钥相关联的密钥值映射严格大于给定密钥,如果没有这样的密钥则 null
KhigherKey(K key)返回严格大于给定键的最小键,如果没有这样的键,则返回 null
Map.Entry<K,V>lastEntry()返回与该地图中最大关键字关联的键值映射,如果地图为空,则返回 null
KlastKey()返回当前在此地图中的最后(最高)键。
Map.Entry<K,V>lowerEntry(K key)返回与最大密钥相关联的密钥值映射严格小于给定密钥,如果没有这样的密钥,则 null
KlowerKey(K key)返回严格小于给定键的最大键,如果没有这样的键,则返回 null
Map.Entry<K,V>pollFirstEntry()删除并返回与该地图中的最小键相关联的键值映射,如果地图为空,则返回 null
Map.Entry<K,V>pollLastEntry()删除并返回与该地图中最大密钥相关联的键值映射,如果地图为空,则返回 null
Vput(K key, V value)将指定的值与此映射中的指定键相关联。
voidputAll(Map<? extends K,? extends V> map)将指定地图的所有映射复制到此地图。
Vremove(Object key)从此TreeMap中删除此键的映射(如果存在)。
Vreplace(K key, V value)只有当目标映射到某个值时,才能替换指定键的条目。
booleanreplace(K key, V oldValue, V newValue)仅当当前映射到指定的值时,才能替换指定键的条目。
voidreplaceAll(BiFunction<? super K,? super V,? extends V> function)将每个条目的值替换为对该条目调用给定函数的结果,直到所有条目都被处理或该函数抛出异常。
intsize()返回此地图中键值映射的数量。
NavigableMap<K,V>subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)返回此地图部分的视图,其关键范围为 fromKeytoKey
SortedMap<K,V>subMap(K fromKey, K toKey)返回此地图部分的视图,其关键字范围从 fromKey (含)到 toKey ,独占。
SortedMap<K,V>tailMap(K fromKey)返回此地图部分的视图,其键大于等于 fromKey
NavigableMap<K,V>tailMap(K fromKey, boolean inclusive)返回此地图部分的视图,其键大于(或等于,如果 inclusive为真) fromKey

4.Object

static StringtoString(xx)返回指定数组的内容的字符串表示形式。
以下都有这个方法

Number

Integer(另有Float、Double…不全写了)

static intcompare(int x, int y)比较两个 int数字值。
intcompareTo(Integer anotherInteger)数字比较两个 Integer对象。
booleanequals(Object obj)将此对象与指定的对象进行比较。
static intmax(int a, int b)返回两个 int的较大值,就像调用 Math.max一样 。
static intmin(int a, int b)返回两个 int的较小值,就像调用 Math.min一样 。
static intparseInt(String s)将字符串参数解析为带符号的十进制整数。
static IntegervalueOf(int i)返回一个 Integer指定的 int值的 Integer实例。
static IntegervalueOf(String s)返回一个 Integer对象,保存指定的值为 String

Character

static chartoUpperCase(char ch)将字符参数转换为大写。
static CharactervalueOf(char c)返回一个 表示指定的 char值的 Character实例。
intcompareTo(Character anotherCharacter)数字比较两个 Character对象。
static intcompare(char x, char y)数值比较两个 char数值。
booleanequals(Object obj)将此对象与指定对象进行比较。

String

charcharAt(int index)返回 char指定索引处的值。
intcompareTo(String anotherString)按字典顺序比较两个字符串。
Stringconcat(String str)将指定的字符串连接到该字符串的末尾。
booleancontains(CharSequence s)当且仅当此字符串包含指定的char值序列时才返回true。
booleanequals(Object anObject)将此字符串与指定对象进行比较。
intindexOf(int ch)返回指定字符第一次出现的字符串内的索引。
intindexOf(int ch, int fromIndex)返回指定字符第一次出现的字符串内的索引,以指定的索引开始搜索。
booleanisEmpty()返回 true如果,且仅当 length()0
intlastIndexOf(int ch)返回指定字符的最后一次出现的字符串中的索引。
Stringreplace(char oldChar, char newChar)返回从替换所有出现的导致一个字符串 oldChar在此字符串 newChar
StringreplaceAll(String regex, String replacement)用给定的替换替换与给定的 regular expression匹配的此字符串的每个子字符串。
String[]split(String regex)将此字符串分割为给定的 regular expression的匹配。
char[]toCharArray()将此字符串转换为新的字符数组。
StringtoLowerCase()将所有在此字符 String使用默认语言环境的规则,以小写。
StringvalueOf(boolean b)(char c)… 返回 xx参数的字符串 xx形式。

StringBuilder

比 StringBuffer更常用,后者在安全线程里更常用

StringBuilderappend()将 各种类型的参数 加到序列中。
charcharAt(int index)返回 char在指定索引在这个序列值。
StringBuilderdelete(int start, int end)删除此序列的子字符串中的字符。
StringBuilderdeleteCharAt(int index)删除 char在这个序列中的指定位置。
voidgetChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)字符从该序列复制到目标字符数组 dst
intindexOf(String str)返回指定子字符串第一次出现的字符串内的索引。
intindexOf(String str, int fromIndex)返回指定子串的第一次出现的字符串中的索引,从指定的索引开始。
StringBuilderinsert(int offset, xx)将 xx参数的字符串表示插入到此序列中。offset 偏移量
intlastIndexOf(String str)返回指定子字符串最右边出现的字符串内的索引。
StringBuilderreplace(int start, int end, String str)用指定的String中的字符替换此序列的子字符串中的 String
StringBuilderreverse()导致该字符序列被序列的相反代替。
voidsetCharAt(int index, char ch)指定索引处的字符设置为 ch
voidsetLength(int newLength)设置字符序列的长度。
CharSequencesubSequence(int start, int end)返回一个新的字符序列,该序列是该序列的子序列。
Stringsubstring(int start, int end)返回一个新的 String ,其中包含此序列中当前包含的字符的子序列。
StringtoString()返回表示此顺序中的数据的字符串。

Array数组

Array类提供静态方法来动态创建和访问Java数组。

4public static void sort(Object[] a) (???有无此方法?)
对指定对象数组根据其元素的自然顺序进行升序排列。同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)。
static Objectget(Object array, int index)返回指定数组对象中的索引组件的值。
static voidset(Object array, int index, Object value)将指定数组对象的索引组件的值设置为指定的新值。

Arrays

该类包含用于操作数组的各种方法(如排序和搜索)。

static <T> List<T>asList(T... a)返回由指定数组支持的固定大小的列表。
static booleanequals(xx, xx)如果两个指定的xx数组彼此 相等 ,则返回 true
static voidfill(xx, xxxx)将指定的xxxx值分配给指定的xx数组的每个元素。
static voidsort(xx)按照xx顺序排列指定的数组。xx:一些基本数据类型

Scanner

String nextLine()返回一行字符串
next()返回一字符串,以空格结束
int NextInt()读下一个(行)整数
NextFloat()
NextDouble()
hasnext()返回是否还有下一个
hasnextLine()返回是否还有下一行
hasNextInt()
hasNextFloat()
hasNextDouble()
voidclose()关闭此扫描仪。
这篇关于力扣、牛客刷题 java各类常用方法整理 算法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!