Java算法常用方法

读取输入内容:

Scanner sc = new Scanner(System.in);
String input = sc.nextLine();
System.out.println(input);

String ↔ char[]:

String str = "hello world";
//String转换为char[]
char[] str2char = str.toCharArray();
//char[]转换为String
String char2str = String.valueOf(str2char);

八大基本数据类型 → String:

int in = 5;
//String.valueOf可将八大基本数据类型转换为String
String str = String.valueOf(in);

String → int

String str = "8";
int in = Integer.parseInt(str);

处理字符串常用方法

String str = "hello U world";
//全部转换为大写(str并不会变)
String str2 = str.toUpperCase();
//全部转换为小写
String str3 = str.toLowerCase();
//获取子字符串第一次出现的索引(若没有则返回-1)
//可用于判断子字符串是否存在
int index = str.indexOf("world");//返回8
//删除子字符串(将"world"替换为"")
String str4 = str.replaceAll("world", "");
//分割字符串
String[] split = str.split(" ");
//切割字符串,从指定索引开始到字符串末尾(包含开始索引)
String str5 = str.substring(5);
//切割字符串,从指定索引开始到指定索引结束(包含开始索引,不包含结束索引)
String str6 = str.substring(5,9);
//判断字符串是否以指定的前缀开头
str.startsWith("hello");//true

处理数组常用方法

int[] arr = {5,4,1,9,8,6,7};
//升序排列数组
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));

平方,开方

//求10的平方
double s =  Math.pow(10, 2);
//开方(若不转换int,则返回3.16.....)
int re = (int)Math.sqrt(10);
//绝对值
int pos = Math.abs(-10);

栈,队列(LinkedList实现)

LinkedList<Integer> stack = new LinkedList<>();
LinkedList<Integer> queue = new LinkedList<>();
//压栈
stack.push(3);
stack.push(4);
//出栈(出栈的是4)
stack.pop();
//入队
queue.add(1);
queue.add(2);
//出队(出队的是1)
queue.poll();

栈,队列(ArrayList实现)

ArrayList<Integer> stack = new ArrayList<>();
ArrayList<Integer> queue = new ArrayList<>();
//压栈
stack.add(3);
stack.add(4);
//出栈(出栈的是4)
stack.remove(queue.size()-1);
//入队
queue.add(1);
queue.add(2);
//出队(出队的是1)
queue.remove(0);

HashMap的使用

HashMap<String,Integer> hm = new HashMap<>();
hm.put("1+2",3);
hm.get("1+2");//返回3
hm.get("222");//返回null

HashSet的使用

HashMap<String,Integer> hm = new HashMap<>();
hm.put("1+2",3);
hm.get("1+2");//返回3
hm.get("222");//返回null

你可能感兴趣的:(Java基础)