Java刷题语法总结

总结了一些Java刷题的常用语法。
对于以下使用的工具类,可以通过import java.util.*;全部导入。

1、输入输出

Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
String s = sc.next();
System.out.print(n);//不换行输出
System.out.println(n);

2、数组

int array[] = new int[n];
int matrix[][] = new int[n][n];

3、栈Stack

Stack<Integer> stack = new Stack<>();
stack.push(1);
stack.pop();//移除堆栈顶部的对象,并作为此函数的值返回该对象
stack.peek();//查看堆栈顶部的对象,但不从堆栈中移除它

4、队列Queue

Queue<Integer> q = new LinkedList<>();
//ArrayDeque是Queue的一个实现类,除此之外常用的还有ArrayList
q.add(1);//链表末尾添加元素,返回是否成功
int a = q.peek();//返回第一个元素
int a = q.poll();//删除并返回第一个元素

5、Map

Map<String,Integer> map = new HashMap<>();
map.put("Linda",18);
map.containsKey("Linda");//时间复杂度O(1)
int age = map.get("Linda");
map.remove("Linda");
//遍历Map
for(Map.Entry<String,Integer> entry: map.entrySet()){
	key = entry.getKey();
	value = entry.getValue();
}

6、Set

Set set = new HashSet();
set.add("C");
set.contains("C");
set.remove("C");
//遍历set
for(String s: set){
	System.out.println(s);
}

7、排序和比较

class Guard{
	int x;
	int y;
	Guard(int x,int y){
		this.x = x; this.y = y;
	}
}
Comparator<Guard> cmp = new Comparator<Guard>(){
	public int compare(Guard g1, Guard g2){
		if(g1.x == g2.x){
			return g1.y-g2.y;
		}
		return g1.x-g2.x;
	}
}
//定义数组g[] g[0]=(1,2) g[1]=(1,3) g[2]=(-1,5)
Arrays.sort(g, 0, 3, cmp);
//结果:(-1,5) (1,2) (1,3)
//如果compare中g1>g2返回正数,排序后的数组是升序

8、String

String s = "Lin"+"da";//连接
int len = s.length();
char c = s.CharAt(0);//返回指定索引处的 char 值
int index1 = s.indexOf('i');//返回指定字符在此字符串中第一次出现处的索引
int index2 = s.indexOf("da");//返回指定字符串在此字符串中第一次出现处的索引
String string = s.substring(0,3);//"Lin"
string = "Hi,Linda,Hello";
String ss[] = string.split(",");
//和Integer的相互转换
int i = Integer.parseInt("72");
string = Integer.toString(i);
//和char[]的相互转换
char cc[] = string.toCharArray();
string = String.valueOf(cc);

你可能感兴趣的:(Java刷题语法总结)