算法题JAVA常用库函数
算法题JAVA常用库函数
字符串
整数转字符串:
String str = String.valueOf(a);
字符串转字符数组:
char[] chars = str.toCharArray();
字符串替换:
str.replace('a','b');
字符串去除空格
str.trim();
字符串拼接:
StringBuilder sb = new StringBuilder(); sb.append(a); sb.length(a); sb.deleteCharAt(index);
截取字符串:
str.substring(start,end);//含前不含后,也可以只有 str.substring(start);
字符串获取某个字符的位置:
str.indexOf('a');
字符串分割:
str.split("\\s+"); 按空格分割
list/deque重组成String:
String.join("",list);String.join("",deque);
数组
数组初始化:
char[] array = new char[len];int[] arr = {1,2,3};int[] arr = new int[]{1,2,3,4,5};
数组自定义排序:
Arrays.sort(nums
数组转list:
ArrayList<String> arraylist = new ArrayList<Strin>(Array.asList(arrays));List<String> list = Arrays.asList(arrays);List<String> list2 = new ArrayList<String>(arrays.length);Collection.addAll(list2,arrays);
Array根据元素查找位置:
int position = Arrays.binarySearch(arrays,"f");
array中填充元素:
Arrays.fill(array,Integer.MAX_VALUE);
list列表相关
基本类型数组转成包装类型LIst;
int[] nums = {1,2,3};Arrays.stream(nums).boxed().collect(Collectors.toList());
list转数组(只适用于list成员是包装类型)
String[] strs = list.toArray(new String[list.size]);
list复制:
targetList.addAll(sourceList);
list自定义排序:
Collections.sortt()
list反转:
Collections.reverse(list);
list按位置移除元素:
list.remove(index);
list获取某个元素的位置:
list.indexOf(value) //默认返回第一个元素所在位置
list添加元素:
list.add(value) //在队尾添加list.add(place,value);//在指定位置添加
栈
栈初始化:
Stack stack = new Stack();
栈插入元素
stack.push();
栈弹出元素:
stack.pop();
栈取栈顶元素,不删减元素:
stack.peek();
判断栈是不是空:
stack.isEmpty();
队列
Queue<String> queue = new LinkedList<String>();
队列插入元素:
queue.offer(elment);
队列弹出元素
queue.peek();
队列头元素:
queue.peek();
双端队列:
双端队列初始化:
Deque<String> d = new ArrayDeque<String>();
双端队列队首插入元素:
d.offerFirst(ele);
双端队列队尾插入元素:
d.offer(); d.offerLast();
双端队列队首弹出元素:
deque.pollFirst(); deque.poll();
双端队列队尾弹出元素
deque.pollLast();
map
groupItemsMap.computeIfAbent(group[items],key->new ArrayList<Integer>().add(item))
添加元素:
HashMap<K,V> map = new HashMap<K,V>(); map.put(K key,V value);//会覆盖原本含key的元素
判断:
map.containsKey(K key); map.containValue(V value);
map遍历:
EntrySet遍历(性能最好):
Map<K,V> map = new HashMap<K,V>(); for(Map.Entry<K,V> entry : map.entrySet()){entry.getKey();entry.getValue(); }
KeySet或者是Values遍历:
for(K key : map.keySet()){}
for(V value : values : map.values()){}
使用Iterator遍历:
Iterator<Map.Entry<K,V> it = map.entrySet().iterator(); while(it.hasNext()){Map.Entry<K,V> entry = it.next();entry.getKey();entry.getValue(); }
Lambda
map.forEach(key,value) -> {}
函数
Math.max(a,b); Math.min(a,b); Math.pow(a,digit); Math.ceil(a)//a为double,并且函数返回值也为double,向下取整 Math.floor(a)//向上取整
java.util.Random()方法摘要:
protected int next(int bits):生成下一个伪随机数。 boolean nextBoolean():返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的boolean值。 void nextBytes(byte[] bytes):生成随机字节并将其置于用户提供的 byte 数组中。 double nextDouble():返回下一个伪随机数,它是取自此随机数生成器序列的、在0.0和1.0之间均匀分布的 double值。 float nextFloat():返回下一个伪随机数,它是取自此随机数生成器序列的、在0.0和1.0之间均匀分布float值。 double nextGaussian():返回下一个伪随机数,它是取自此随机数生成器序列的、呈高斯(“正态”)分布的double值,其平均值是0.0标准差是1.0。 int nextInt():返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值。 int nextInt(int n):返回一个伪随机数,它是取自此随机数生成器序列的、在(包括和指定值(不包括)之间均匀分布的int值。 long nextLong():返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的 long 值。 void setSeed(long seed):使用单个 long 种子设置此随机数生成器的种子;
输入输出:
输入:
Scanner input = new Scanner(System.in); input.next();//返回值为String input.nextInt()//返回值为int input.hasNext();//返回值为boolean
输入一行数字,数字间以”,“分割,将数组存入数组
Scanner input = new Scanner(System.in); String s = input.nextLine(); String[] num = s.split(","); int size = num.length(); int[] a = new int[size]; for(int i = 0; i < size; i++){a[i] = Integer.parseInt(num[i]); }
算法题JAVA常用库函数相关推荐
- 用Java刷算法题的常用数据结构(C++转Java)
文章目录 一:前言 1:为何刷题从C++转java 2:如何上手呢? 二:输入 1:常规的输入 2:关于其他输入符在nextLine()之前用吃掉回车符的问题解决 3:常见输入之我们输入一串数到容器中 ...
- 【c/c++】刷算法题时常用的函数手册 持续更新--
在做算法题的时候,有时候为了高效的做题,我们会使用一些函数,但是常用的函数确实太多了,时不时的会忘记一些 于是我整理了一些常用的函数,方便自己查找和别人使用. 都是超链接,点击直接跳转到对应的内容. ...
- 剑指Offer面试算法题Java实现
面试题3 /*** 二维数组的查找* @author acer**/ public class _03FindInPartiallySortedMatrix {public static boolea ...
- python比赛积分类算法题_python常用算法题
一: #计算平均数,中位数和众数 #coding:utf-8 #计算平均数,中位数和众数 import random lst = [random.randint(0,10) for i in rang ...
- 算法题中常用的JS数据处理方式
1.数字转字符串 console.log(String(11)) // "11" console.log(11.toString()) // "11" 2.进制 ...
- 【蓝桥杯】三羊献瑞-算法题JAVA解
题目: 观察下面的加法算式: 其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字. 请你填写"三羊献瑞"所代表的4位数字(答案唯一),不要填写任何多余内容. 分析: 直接暴力 ...
- java算法题常用到的一些api,含面试题+答案
一面(电话面+后期在线coding) ①你们为什么要使用mongdoDb?你们的这个系统中涉及到哪些表? ②hytrix 的实现原理是什么?隔离策略有哪些?你们使用的是哪一些?你们项目中哪些地方使用到 ...
- JAVA 判断简单密码算法_十道简单算法题二【Java实现】
前言 清明不小心就拖了两天没更了-- 这是十道算法题的第二篇了-上一篇回顾:十道简单算法题 最近在回顾以前使用C写过的数据结构和算法的东西,发现自己的算法和数据结构是真的薄弱,现在用Java改写一下, ...
- java的简单算法题_[2]十道算法题【Java实现】
前言 清明不小心就拖了两天没更了-- 这是十道算法题的第二篇了-上一篇回顾:十道简单算法题 最近在回顾以前使用C写过的数据结构和算法的东西,发现自己的算法和数据结构是真的薄弱,现在用Java改写一下, ...
最新文章
- git clone 加速小技巧
- excel如何返回双引号
- 《计算机应用基础》在线考试,2018年自学考试《计算机应用基础》考试题及答案...
- HITOJ 2662 Pieces Assignment(状压DP)
- 前端python与php_WEB前端、PHP、python这三个学习哪一个比较好?
- hive拉链表实现方案一
- 12.docker inspect
- Enterprise Library 2.0 Hands On Lab 翻译(15):加密应用程序块(二)
- 安装svn 汉化包 也不能设置中文
- 作为一个大学才开始入门学计算机编程的孩子想要的东西-----听我扯,你蛋疼,他菊紧,我开心...
- go微服务调用报错too many colons in address
- informix mysql 语法_Informix SQL 语句详解
- 417页16万字智慧医院信息化大数据建设 设计方案
- 关于流程管理的这些事:项目流程及方法工具
- Java网课基础笔记(9)19-07-21
- python--爬虫--获取和解析存储网页内容--以薄荷网为例
- 东北大学软件学院操作系统v实验报告
- 公众号学生成绩管理查询系统
- 30秒!快速了解让Jupyter Notebook注释更加美观的方法
- 什么是防火墙,为什么你需要防火墙?