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():检查输入流是否还有下一行。
复制代码
   
相关推荐
我命由我123459 小时前
由 ImageView 获取到的 Drawable 对象,它的 intrinsicWidth、intrinsicWidth 与实际图片的尺寸
java·开发语言·java-ee·android studio·android jetpack·android-studio·android runtime
Han.miracle9 小时前
Jackson 工具类详解:ObjectMapper 配置、泛型擦除、TypeReference 与 JavaType
java·spring boot·spring
guslegend9 小时前
Java 创建对象有几种方式
java·开发语言
暗暗别做白日梦9 小时前
延时消息的几种实现方式及优缺点
java
极客先躯9 小时前
高级java每日一道面试题-2026年02月08日-实战篇[Docker]-如何实现容器的快照和恢复?
java·运维·docker·容器·备份·持久化·恢复
布朗克1689 小时前
29 反射机制
java·开发语言·反射
孬甭_9 小时前
深入剖析快速排序:原理、实现与性能优化
数据结构·算法·排序算法
San813_LDD9 小时前
[数据结构]共享栈与双端队列:算法思想分析及C语言实现
java·开发语言·数据结构
我是一颗柠檬9 小时前
【Java项目技术亮点】全链路分层限流:从网关到数据库的多层防护体系
java·开发语言·数据库
JAVA面经实录9179 小时前
ZooKeeper 面试题完整标准答案(面试背诵版)
分布式·zookeeper·面试