Java面试常用算法api速刷

数组

int\[\] arr1 = new int5;

int\[\] arr2 = {1, 2, 3, 4, 5};

int\[\] arr3 = new int\[\]{3, 1, 2, 4, 5};

int\[\]\[\] matrix1 = new int33;

int\[\]\[\] matrix2 = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};

int\[\]\[\] matrix3 = new int\[\]\[\]{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};

arr**.length**

Arrays.fill (arr1, 1);

Arrays.sort (arr3);

Arrays.copyOfRange (arr3, 1, 3);

List<Integer> list = Arrays.asList (arr); //list指向原数组位置

List<Integer> list = new ArrayList<>(Arrays.asList(1, 2, 3)); //List指向新数组位置

Integer\[\] newArray = list2.toArray(new Integer0);

String

String str1 = "Hello";

String str2 = new String("World");

str1.length ()

str2.charAt (0)

str1.equals (str2)

str1.substring (1, 3) //起始位置,最终位置,左闭右开

str1.indexOf ("ll")

str1.lastIndexOf ("l")

str1.toUpperCase ()

str1.toLowerCase ()

str1.replace ("l", "p")

String\[\] split = "a,b,c".split (",");

str.trim()

char\[\] charArray = str1**.toCharArray()**;

StringBuilder

StringBuilder sb = new StringBuilder();

sb.append (str1).append(str2);

sb.reverse().toString()

sb.insert (4, "insert");

sb.replace (4, 10, "java"); //起始位置,最终位置,左闭右开

sb.reverse ();

sb.substring (1,3) //起始位置,最终位置,左闭右开

sb.setCharAt (1, 'T');

sb.length ()

sb.charAt (1)

sb.toString()


集合通用:

size()

clear()

isEmpty()


ArrayList

List<String> arrayList = new ArrayList<>();

List<String> arrayList1 = new ArrayList<>(Arrays.asList("1", "2", "3"));

arrayList.add("4");

arrayList.get(0);

arrayList.set(0, "10");

arrayList.remove("2");

arrayList.remove(0);

arrayList.contains("3")

arrayList.size()

arrayList1.clear();

// 迭代器遍历List

Iterator<String> iterator = linkedList1.iterator();

while (iterator.hasNext())

System.out.println(iterator.next());

HashSet

Set<String> hashSet = new HashSet<>();

Set<String> hashSet1 = new HashSet<>(Arrays.asList("1", "2", "3"));

hashSet1.add("4");

hashSet1.remove("4");

hashSet1.contains("3")

hashSet1.size()

hashSet1.clear();

HashMap

Map<Integer, String> hashMap = new HashMap<>();

hashMap.put(1, "1");

hashMap.put(2, "2");

hashMap.remove(2);

hashMap.get(1);

// 遍历键

for (Integer key : hashMap.keySet()) {

System.out.println("key: " + key);

}

// 遍历值

for (String val : hashMap.values()) {

System.out.println("value: " + val);

}

ArrayDeque

Deque<Integer> arrayDeque = new ArrayDeque<>();

arrayDeque.peek();

arrayDeque.offerFirst(2);

arrayDeque.offerLast(12);

arrayDeque.offer(13); //跟末尾插入一样

arrayDeque.pollFirst();

arrayDeque.pollLast();

arrayDeque.poll(); //跟末尾弹出一样

//当栈用

arrayDeque.peek();

arrayDeque.pop();

arrayDeque.push();

PriorityQueue

PriorityQueue<Integer> priorityQueue = new PriorityQueue<>();

priorityQueue.offer(1);

priorityQueue.poll()

priorityQueue.peek()

PriorityQueue<Integer> priorityQueue1 = new PriorityQueue<>((a, b) -> b - a);

priorityQueue1.offer(1);

Scanner工具类

Scanner scanner = new Scanner(System.in);

int num = scanner.nextInt();

String str = scanner.next(); // 读取下一个字符串(到空格为止)

scanner.nextLine(); // 读取换行符,避免影响下一次读取

String str = scanner.nextLine(); // 获取用户输入的字符串

scanner.close(); // 关闭 Scanner 对象

  • boolean hasNext():检查输入流是否还有下一个标记。
  • boolean hasNextLine():检查输入流是否还有下一行。
复制代码
   
相关推荐
文丑颜不良啊几秒前
LeetCode1341~1360题目解析
java·leetcode
H_BB24 分钟前
面试笔记:数据加密和心跳机制
笔记·面试·职场和发展
QianhangQianping28 分钟前
撤销重做不是「存快照」:一个可视化编辑器的Operation 设计
java·前端·数据库·typescript·编辑器·前端架构·撤销重做
海绵宝宝转agent34 分钟前
LeetCodehot100题解
java·笔记·学习·算法·leetcode·深度优先
SunnyDays101135 分钟前
Java 操作 Word 脚注和尾注:添加、读取与删除
java·word
SunnyDays101136 分钟前
Java 为 Word 添加页码:隐藏封面页码、从指定页开始编号、奇偶页页码设置等
java·word·页码
开源推荐官40 分钟前
多门店 O2O 商城选型复盘:从开发视角对比主流开源系统
java·架构·开源·php
吴名氏.41 分钟前
Java转AI Agent教程(第二周)超时重试与错误分类
java·人工智能·python·分类·ai agent
青少儿编程课堂42 分钟前
2026蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级:堆排序与优先队列解析
c++·python·算法·bfs·信息学竞赛
j7~1 小时前
【C++ 面试笔记】(篇二):类与数据抽象 & STL 容器与算法
开发语言·c++·面试·stl容器和算法·类和数据抽象