迁移至Java

框架

JAVA主类名称:如果你使用Java语言,对于所有的试题,你的主类名称都必须是Main。java 语言中不要使用package语句,代码要求符合JDK1.8的语法规范。

class Main{
    public static void main(String[] args){
        // ...
    }
}

输入输出

import java.util.Scanner;

//输入
Scanner sc = new Scanner(System.in);
int n=sc.nextInt();
double d=sc.nextDouble();
String str=sc.next();
char c=sc.next().charAt(0);
while(sc.hasNextInt()){
    int n = sc.nextInt();
    System.out.println(n);
}  // Ctrl+D 停止

//输出
System.out.println();
System.out.println(String.format("%04d",4));  //0004(输出规范)
System.out.println(String.format("%04d",11)); //0011
double a = 1.2349;
String a = String.format("%.2f",a);//1.23

Char 常用方法

String 常用方法

常用正则表达式

Arrays.sort(arr) 是 Java 中的一个静态方法,用于对数组进行排序。它可以接受所有的基本数据类型数组和对象数组

Collections.sort(list) 也是 Java 中的一个静态方法,但它用于对实现了 List 接口的对象进行排序,例如 ArrayListLinkedList

大数

Math类

ArrayList

数组:static int[] father = new int[10000];

基本操作:

自定义排序:

另外一种:

二分查找:

集合

Map

Queue

优先队列:

双向队列(来自单调队列板子)

其他:swap

C/C++中swap是通过传递变量地址(指针或引用)来交换变量地址中的值。Java对程序员屏蔽了变量地址的概念,为的是减少指针误用。在Java中函数或者叫方法的入参都是通过值拷贝的方式进行传递

  • 原始类型(char,int,double等)都是通过直接拷贝变量值传参。swap(int, int)不可行;

  • 对象类型都是通过引用拷贝传参。swap(Integer, Integer) 不可行,可以看作我们想改指针,因此需要指针的指针,但是Java不提供。

因此一个替代的实现是:

综合:并查集

综合:树的前序遍历

综合:dijstra

最后更新于