算法刷题:常用类的方法

1.String

1.1 数字转成字符串:

String s = String.valueOf(num);

同样的,将字符数组转换为字符串,也是

String.valueOf(array);

1.2 取子串

取s索引的0,1,2,不包括3
String temp = s.substring(0,3);

注:substring是一个完整单词,中文意思就是子串,所以并非是不满足驼峰命名规范。

1.3 删除字符串的头尾空白符

s.trim()

1.3 字符串比较大小 


2 集合

2.1 队列的使用

LinkedList类实现了Queue接口,因此我们可以把LinkedList当成Queue来用。

(LinkedList类也实现了List接口)

Queue<String> queue = new LinkedList<String>();
//add()和remove()方法在失败的时候会抛出异常(不推荐)

特别注意:不可以直接new Queue<>,如下(Stack可以直接new):

offer()方法是给队列中添加一个新项,poll() 方法是从队列中删除第一个元素,peek() 方法用于在队列的头部查询元素。

1add()
是给队列中添加一个新项。
2remove()
从队列中删除第一个元素,并返回该元素。
3Object peek()
查询队列的头部元素。,并作为此函数的值返回该对象。

offer,add 区别:

一些队列有大小限制,因此如果想在一个满的队列中加入一个新项,多出的项就会被拒绝。

这时新的 offer 方法就可以起作用了。它不是对调用 add() 方法抛出一个 unchecked 异常,而只是得到由 offer() 返回的 false。

poll,remove 区别:

remove() 和 poll() 方法都是从队列中删除第一个元素。remove() 的行为与 Collection 接口的版本相似, 但是新的 poll() 方法在用空集合调用时不是抛出异常,只是返回 null。因此新的方法更适合容易出现异常条件的情况。

peek,element区别:

element() 和 peek() 用于在队列的头部查询元素。与 remove() 方法类似,在队列为空时, element() 抛出一个异常,而 peek() 返回 null。

2.2 双端队列的使用

Deque(发音为deck)是double ended queue的简称,习惯上称之为双端队列。

Deque同时扩展了Queue接口,当Deque作为队列的时候,会产生FIFO(先进先出)行为。元素添加在双端队列的末尾并从头开始删除。

插入元素

  • addFirst(): 向队头插入元素,如果元素为空,则发生NPE

  • addLast(): 向队尾插入元素,如果为空,则发生NPE

  • offerFirst(): 向队头插入元素,如果插入成功返回true,否则返回false

  • offerLast(): 向队尾插入元素,如果插入成功返回true,否则返回false

移除元素

  • removeFirst(): 返回并移除队头元素,如果该元素是null,则发生NoSuchElementException

  • removeLast(): 返回并移除队尾元素,如果该元素是null,则发生NoSuchElementException

  • pollFirst(): 返回并移除队头元素,如果队列无元素,则返回null

  • pollLast(): 返回并移除队尾元素,如果队列无元素,则返回null

获取元素

  • getFirst(): 获取队头元素但不移除,如果队列无元素,则发生NoSuchElementException

  • getLast(): 获取队尾元素但不移除,如果队列无元素,则发生NoSuchElementException

  • peekFirst(): 获取队头元素但不移除,如果队列无元素,则返回null

  • peekLast(): 获取队尾元素但不移除,如果队列无元素,则返回null

Queue 方法等效Deque方法
add(e)addLast(e)
offer(e)offerLast(e)
remove()removeFirst()
poll()pollFirst()
element()getFirst()
peek()peekFirst()

同时,Deque也可以作为LIFO(后进先出)堆栈,此接口优于传统的Stack类使用。

Stack和Deque方法的比较

栈方法等效Deque方法
push(e)addFirst(e)
pop()removeFirst()
peek()peekFirst()

2.3 栈的使用 

Stack()

栈是Vector的一个子类,它实现了一个标准的后进先出的栈。

Stack<Integer> st = new Stack<Integer>();

 注意测试堆栈是否为空用empty() 和isEmpty()都行;

1boolean empty() 
测试堆栈是否为空。
2Object peek( )
查看堆栈顶部的对象,但不从堆栈中移除它。
3Object pop( )
移除堆栈顶部的对象,并作为此函数的值返回该对象。
4Object push(Object element)
把项压入堆栈顶部。
5int search(Object element)
返回对象在堆栈中的位置,以 1 为基数。

2.4 List转数组的方法 

直接new一个吧

3. StringBuilder 

4. Random类的使用

Random random = new Random();
random.nextInt(50) + 50;
生成50到99的随机数

random.nextInt(n) :生成一个随机的int值,该值介于[0,n)的区间,也就是0到n之间的随机int值,包含0而不包含n。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值