算法题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常用库函数相关推荐

  1. 用Java刷算法题的常用数据结构(C++转Java)

    文章目录 一:前言 1:为何刷题从C++转java 2:如何上手呢? 二:输入 1:常规的输入 2:关于其他输入符在nextLine()之前用吃掉回车符的问题解决 3:常见输入之我们输入一串数到容器中 ...

  2. 【c/c++】刷算法题时常用的函数手册 持续更新--

    在做算法题的时候,有时候为了高效的做题,我们会使用一些函数,但是常用的函数确实太多了,时不时的会忘记一些 于是我整理了一些常用的函数,方便自己查找和别人使用. 都是超链接,点击直接跳转到对应的内容. ...

  3. 剑指Offer面试算法题Java实现

    面试题3 /*** 二维数组的查找* @author acer**/ public class _03FindInPartiallySortedMatrix {public static boolea ...

  4. python比赛积分类算法题_python常用算法题

    一: #计算平均数,中位数和众数 #coding:utf-8 #计算平均数,中位数和众数 import random lst = [random.randint(0,10) for i in rang ...

  5. 算法题中常用的JS数据处理方式

    1.数字转字符串 console.log(String(11)) // "11" console.log(11.toString()) // "11" 2.进制 ...

  6. 【蓝桥杯】三羊献瑞-算法题JAVA解

    题目: 观察下面的加法算式: 其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字. 请你填写"三羊献瑞"所代表的4位数字(答案唯一),不要填写任何多余内容. 分析: 直接暴力 ...

  7. java算法题常用到的一些api,含面试题+答案

    一面(电话面+后期在线coding) ①你们为什么要使用mongdoDb?你们的这个系统中涉及到哪些表? ②hytrix 的实现原理是什么?隔离策略有哪些?你们使用的是哪一些?你们项目中哪些地方使用到 ...

  8. JAVA 判断简单密码算法_十道简单算法题二【Java实现】

    前言 清明不小心就拖了两天没更了-- 这是十道算法题的第二篇了-上一篇回顾:十道简单算法题 最近在回顾以前使用C写过的数据结构和算法的东西,发现自己的算法和数据结构是真的薄弱,现在用Java改写一下, ...

  9. java的简单算法题_[2]十道算法题【Java实现】

    前言 清明不小心就拖了两天没更了-- 这是十道算法题的第二篇了-上一篇回顾:十道简单算法题 最近在回顾以前使用C写过的数据结构和算法的东西,发现自己的算法和数据结构是真的薄弱,现在用Java改写一下, ...

最新文章

  1. git clone 加速小技巧
  2. excel如何返回双引号
  3. 《计算机应用基础》在线考试,2018年自学考试《计算机应用基础》考试题及答案...
  4. HITOJ 2662 Pieces Assignment(状压DP)
  5. 前端python与php_WEB前端、PHP、python这三个学习哪一个比较好?
  6. hive拉链表实现方案一
  7. 12.docker inspect
  8. Enterprise Library 2.0 Hands On Lab 翻译(15):加密应用程序块(二)
  9. 安装svn 汉化包 也不能设置中文
  10. 作为一个大学才开始入门学计算机编程的孩子想要的东西-----听我扯,你蛋疼,他菊紧,我开心...
  11. go微服务调用报错too many colons in address
  12. informix mysql 语法_Informix SQL 语句详解
  13. 417页16万字智慧医院信息化大数据建设 设计方案
  14. 关于流程管理的这些事:项目流程及方法工具
  15. Java网课基础笔记(9)19-07-21
  16. python--爬虫--获取和解析存储网页内容--以薄荷网为例
  17. 东北大学软件学院操作系统v实验报告
  18. 公众号学生成绩管理查询系统
  19. 30秒!快速了解让Jupyter Notebook注释更加美观的方法
  20. 什么是防火墙,为什么你需要防火墙?

热门文章

  1. Notion for Mac免费的办公笔记软件
  2. WIN7 x64系统下TortoiseSVN文件夹及文件图标不显示解决方法
  3. 使用DirectUI技术实现QQ界面
  4. 模块一:shell 脚本基础
  5. 02-SpringBoot工程中JDBC应用实践
  6. SQL语句 第11章 复合数据类型
  7. Cesium 火箭发射分离模拟
  8. 前端监控 SDK 开发分享
  9. 基于Unity3D的相机功能的实现(二)——AR相机
  10. 13个Vue3中的全局API的源码浅析汇总整理