算法练习(特辑)算法Java常用类的方法总结

一、栈stack

1、初始化:Stack<Integer> st = new Stack<Integer>();
2、常用方法:

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

二、队列queue

1、初始化:Queue<String> queue = new LinkedList<>();
2、常用方法:

  • add():添加元素到队尾,若队满,会抛出异常
  • offer():添加元素到队尾,若队满,会返回false
  • element():查看队首元素,若队空,会抛出异常
  • peek():查看队首元素,若队空,会返回null
  • remove():删除队首元素,若队空,会抛出异常
  • poll():删除队首元素,若队空,会返回null
  • isEmpty():查看是否为空
  • size():查看队列长度

三、双端队列deque

1、初始化:Deque<Integer> levelList=new LinkedList<Integer>();
2、常用方法:(add和offer、remove和poll、get和peek)

  • add():添加元素到队尾,为空报异常
  • offerFirst() :添加元素到队头,为空返回false
  • offerLast() :添加元素到队尾,为空返回false
  • push() :添加元素到队头,此处承担栈的作用,等价于addFirst()
  • remove(): 删除头元素,为空报异常
  • pollFirst() :删除头元素,为空返回null
  • pollLast() :删除尾元素,为空返回null
  • pop() :删除头元素,此处承担栈的作用,等价于removeFirst()
  • getFirst() 查看头元素,为空报异常
  • getLast() 查看尾元素,为空报异常
  • peekFirst() 查看头元素,为空返回null
  • peekLast() 查看尾元素,为空返回null

四、List

  • add、remove、contains、size、isEmpty:看名字就知道是干嘛的
  • sublist(int fromIndex,int toIndex):类似于subString,切割
  • retainAll(list):取两个list的交集
  • clear():清除集合中的所有元素
  • set(index,element):在指定位置index的数据替换为element

五、Map

  • put、remove、containsKey、containsValue、get、clear:跟上面一样,看名字就知道是干嘛的
  • keySet():返回当前集合中包含key的Set视图
  • values():返回 HashMap 中所有 value 值所组成的 collection view(集合视图)
  • entrySet():获取所有键值对
for (Map.Entry<String, Integer> entry : entries) {
	System.out.println(entry.getKey() + ": " + entry.getValue());
}
  • getOrDefault(x,y):获取key为x的value值,若为空,则默认为y,常用来标记次数
map.put(errorCode,map.getOrDefault(errorCode,0)+1);		//标记errorCode出现的次数
  • isEmpty():用于判空

六、String

  • length():返回字符串的字符个数
  • toCharArray():将字符串转换成字符数组
  • split(String):将字符串按指定内容切开
  • contains(String):判断字符串是否包含指定内容
  • replaceAll(String,String) :将某个内容全部替换成指定内容
  • toUpperCase():将字符串全部转换成大写
  • toLowerCase():将字符串全部转换成小写
  • charAt(int):得到指定下标位置对应的字符
  • indexOf(String):得到指定内容第一次出现的下标
  • substring(int):从指定下标一直截取到字符串的最后
  • equals(String):判断两个字符串的内容是否一样
  • compareTo(String):两边对应的字符依次比较,直至不等为止,返回该字符的ASCII码差值。 如果两个字符串不一样长,可对应字符又完全一样,则返回两个字符串的长度差值
  • valueOf():将基本数据类型转换成String类型,可以是字符数组
  • trim(): 用于删除字符串的头尾空白符
  • join(): 返回一个新字符串,用给定的定界符连接所有元素
//第2个参数是字符串数组
String a = String.join("!",strArray);
//第2个参数是字符串队列
String b = String.join("!",strList);
//第1个参数之后是多个字符串
String c = String.join("!","ni","zhen","hao","kan");
//输出即为"ni!zhen!hao!kan"

七、Integer

  • parseInt(String s):将字符串转换成整数,返回的int类型
  • toBinaryString(int i):将一个正整数转换成2进制字符串,其他进制的也有对应方法
  • toUnsignedString(int i,int radix):将一个正整数转换成r进制字符串(r的范围是[2, 64])
  • valueOf(String s):将字符串数字转换成Integer类型对象
  • valueOf(String s, int radix):将字符串作为radix进制数,并转换成十进制数输出,返回的是Integer类型
  • Integer.MIN_VALUE:integer类型的最小值
  • Integer.MAX_VALUE:integer类型的最大值

八、Character

  • isDigit(char ch):确定指定字符是否为数字
  • isLetter(char ch):确定指定字符是否为字母
  • isLowerCase(char ch):确定是否是小写字母字符
  • isUpperCase(char ch):确定是否大写字母字符
  • toLowerCase(char ch):将字符参数转换为小写
  • toUpperCase(char ch):将字符参数转换为大写
  • getNumericValue(char ch):将字符转换为int

九、StringBuffer

  • append(char c):添加字符到StringBuffer对象的末尾
  • insert(int offset,String str):在指定位置插入字符串
  • delete(int start,int end):删除指定范围的字符串
  • replace(int start,int end,String str):指定范围内的字符串用新的字符串替代
  • reverse():将字符串翻转过来
  • toString():返回字符串对象
  • deleteCharAt(str.length()-1):删除最后一个字符

十、Math

  • Math.abs(a):求绝对值
  • Math.round(a):四舍五入
  • Math.sqrt(a):开平方/平方根
  • Math.pow(n,m):n的m次幂
  • Math.max(a,b)/Math.min(a,b):获取最大值和最小值
  • Math.random():获取0~1之间的随机数(大于等于0小于1)
  • Math.ceil(a)/Math.floor(a):向上取整,向下取整

十一、Arrays

  • Arrays.sort(int[] arr):排序,默认升序排列;注意,若要重写compareTo()方法,数组不能使用基本数据类型,比如必须为Integer数组,而不是int数组,降序排列参考如下
//常规重写方法
Arrays.sort(arr, new Comparator<Integer>() {
    @Override
    public int compare(Integer o1, Integer o2) {
    	//返回值大于0交换
        return o2-o1;
    }
});
//lambda表达式
Arrays.sort(nums, ( Integer a, Integer b) -> { return b-a;});

//第二种lambda表达式
Arrays.sort(strs,(x,y)->x.compareTo(y));
  • Arrays.copyOfRange(int[] arr,int begin,int end):从数组中截取几个数并返回一个新的数组
  • Arrays.fill(int[] arr,int target):批量赋值

十二、Collections

  • Collections.sort(list):对list进行升序排序
  • Collections.sort(list,Collections.reverseOrder()):对list进行降序排序

十三、小根堆/大根堆

  • 实例化
//小根堆
PriorityQueue<Integer> minQueue = new PriorityQueue<Integer>();
//大根堆
PriorityQueue<Integer> maxQueue = new PriorityQueue<Integer>((o1,o2) -> o2 - o1);
  • queue.offer():添加一个元素并返回true 如果队列已满,则返回false
  • queue.poll():移除并返问队列头部的元素 如果队列为空,则返回null
  • queue.peek():返回队列头部的元素 如果队列为空,则返回null
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值