刷题必备:java常用函数
文章目录 常用包①输入输出输入字符串输入数字文件读写 ②字符串(String)长度遍历String转int其他类型转StringSubstring检查输入是否符合格式访问某
文章目录
常用包①输入输出输入字符串输入数字文件读写
②字符串(String)长度遍历String转int其他类型转StringSubstring检查输入是否符合格式访问某个位置字符查找某个字符串字符串是否相等分割字符串替换去除头尾空格
③数组(Array)初始化排序填充
④动态数组(ArrayList)初始化增删遍历排序翻转
⑤哈希表(HashMap)初始化插入查找取值遍历keySet
⑥集合(HashSet)初始化插入删除查询移除清除
⑦Stack初始化插入和弹出empty访问栈顶
⑨Queue初始化插入和弹出访问
注意
常用包
import java.util.Scanner;
import java.util.Map;
import java.util.Collection;
import java.lang.Math;
①输入输出
输入字符串
import java.util.Scanner;
Scanner input=new Scanner(System.in);
String s1=input.next();
输入数字
int contents=input.nextInt();
if(input.hasNext()){
int a=input.nextInt();
}
文件读写
try (BufferedReader in=new BufferedReader(new InputStreamReader(new FileInputStream("地址")))){
while((line=in.readLine())!=null){
System.out.println(line);
}
}
catch(Exception ex){
ex.printStackTrace();
}
try (BufferedReader bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream("地址")))){
bw.write("test"+" ");
bw.newLine();
}
catch(Exception ex){
ex.printStackTrace();
}
②字符串(String)
长度
a.length();
//输出strs[]个数
strs.length;
//数组是a.length(没有括号)
遍历
for(int i=0;i s.charAt(i); } String转int 要保留前置0。 int a= Integer.parseInt(str); 其他类型转String String s = String.valueOf(value); Substring 括号内为索引值,左闭右开。 s1=s.substring(0,5); 检查输入是否符合格式 比较好的方法是利用正则表达式 String pattern="^(\\d{17})([0-9]|x)$"; if(s.matcher.(pattern)){ } 访问某个位置字符 s.charAt(index); 查找某个字符串 String s="adsff gdgs"; int a2=s.indexOf("asdf");//若没有,返回-1 字符串是否相等 注意不能用== if(a.equals(b)) 分割字符串 String[] b=a.split(" "); //按照空格分割 替换 a.replace("1","a");//将1替换为a 去除头尾空格 a=a.trim(); ③数组(Array) 初始化 int[] a=new int[10]; int[][] a=new int[10][10]; fill(a,100)//所有元素赋值为100 排序 Arrays.sort(a): 填充 //将数组a填充为100 Arrays.fill(a,100); ④动态数组(ArrayList) 初始化 ArrayList Collections.fill(a1,100); 增删 a1.add(1); a1.add(3,4);//将4插入到第三个位置 a1.remove(3);//删除下标为3的 遍历 //下标 for(int i=0;i a.get(i);//访问下标为i的 } //循环 for(int item:a){ ; } 排序 Collections.sort(a1); Collections.max(a1);//最大值 Collections.min(a1); 翻转 Collections.reverse(a1); ⑤哈希表(HashMap) 初始化 import java.util.HashMap; HashMap 插入 map.put(a,b); 查找 if(map.containsKey(k)); if(map.containsvalue(v)); 取值 int a=map.get(k); 遍历 Iterator while(it.hasNext()){ Integer key=it.next(); Integer value=map.get(key); } keySet 提取其中所有key for(Integer key:map.keySet()){ ... } ⑥集合(HashSet) 初始化 Set 插入 s.add(a); 删除 s.remove(a); 查询 s.contains(a); 移除 s.remove(a); 清除 s.clear(); ⑦Stack 初始化 Stack 插入和弹出 s.push(1); //弹出的同时返回弹出的栈顶值 s.pop(); empty s.empty(): 访问栈顶 s.peek(); ⑨Queue 不允许添加null元素。 初始化 Queue 插入和弹出 q.offer(1); // 弹出的同时返回值 q.poll(); 访问 q.peek(); 注意 java中if的判断条件类型必须是bool型,与c和c++不同。java的字符串判断相等不能用==。java中的char是16位的,采用Unicode编码。