(1)长度
字符串长度,str.length()
数组长度,arr.length
list集合长度,list.size()
(2)字符串API
str.charAt(i)
switch(str.charAt(i)){
case 'A': s=s; break;
default: break;
}
strs[i].substring(0,j)
HashMap<Integer,Integer> map = new HashMap<>();
if(map.containsKey(tmp)){}
java集合
java集合详解和集合面试题目_千年似流水的博客-CSDN博客_java集合类面试题
Java刷题常用API_lxxxxxt的博客-CSDN博客_java刷题常用api
LeetCode算法常用Java API_不朽丶-CSDN博客
Stack类常用api
(1)入栈:push()
(2)取出栈顶元素,不执行删除:peek()
(3)出栈、取出栈顶元素,并将该元素从栈中删除:pop()
(4)判断栈是否为空:isEmpty(),返回值是boolean类型
一:Integer 类
1.String -> int:int value = Integer.parseInt(str);
2.将str转换成二进制的int: int binary = Integer.parseInt(str,2);
3.十进制转二进制:String binaryN=Integer.toBinaryString(N);
1.Object -> String:String str = String.valueOf(o);
char[ ] -> String:String str = String.valueOf(charArray);
int -> String:String str = String.valueOf(N);
四:对MapObject的方法
1.map中是否包含key:boolean isContain = map.containsKey(key);
2.map的get():Object value = map.get(key);
map的getOrDefault(): map.getOrDefault(key,default);//没找到就return default
3.map的put():map.put(key,value);
4.map的遍历:for(Object key : map.keySet()){ //... }
1.数组:用arr.length
length 是数组的一个属性。
2.字符串:用str.length()
length() 是 StringObject 的一个方法。
3.集合:用list.size()
size()是list的一个方法。
1.数组判空:if(arr == null|| arr.length == 0) ...
二维数组判空:if(arr == null || arr.length == 0 || arr[0].length == 0) ...
2.字符串判空:if(str == null || str.equals("")) ...
Integer类
进制转换:Integer.toString(int n, int radix)十进制转radix进制,Integer.parseInt(String n, int radix)radix进制转十进制(返回基本类型int)。
Integer.toOctalString()/toHexString()8/16进制。
Integer.valueOf(int n):返回包装类Integer。Integer.parseInt()返回基本类型。
String类
str.replaceAll("a","b"):字符串替换
str.split(","):字符串分割
char[] charStr = str.toCharArray(): String -> char[ ]
str.charAt(index):String -> char
str.substring(start,end):字符串子串,包含start,不包含end
str.indexOf(int ch):返回字符ch第一次出现的索引。
HashMap
map.containsKey(Object key) :判断是否包含key值。
遍历:map.entrySet().iterator()
Iterator<Map.Entry<Integer, Integer>> i = map.entrySet().iterator();
while(i.hasNext()) {
Entry<Integer, Integer> en = (Entry<Integer, Integer>) i.next();
int key = (int )en.getKey();
int value = (int) en.getValue();
System.out.println(key + ", " + value);
}
map.get(Object key):获得指定key值对应键值。
map.put(K key, V value):将键值对<K,V>放入map。map.putAll()
map.remove(Object key):删除指定键值。
Iterator
hasNext():如果迭代器中还有元素,则返回true。
next():返回迭代器中的下一个元素
remove():删除迭代器新返回的元素。
Scanner
Scanner scanner = new Scanner(System.in);Scanner是一个扫描器,从键盘输入的数据,先存到缓存区等待读取。
scanner.hasNext():判断是否还有输入
scanner.next()/nextInt():接受下一个String/Int。判断读取结束的标示是空白符:空格,回车,tab 等等。next()方法读取到空白符就结束;读取空格要用nextLine()或者BufferedReader br=new BufferedReader(new InputStreamReader(System.in));。
使用BufferedReader对象的readLine()方法必须处理java.io.IOException异常(Exception)。
scanner.close():用完关闭
Arrays
Arrays.sort():排序基本对象类型(不可以是基本数据类型,int要转化为Integer),采用双轴快排实现,即两个基准元素。
默认是升序,可重写Comparator()匿名内部类的compare()方法,重新定义排序规则。
//定义规则:对字符串合并后的结果排序,升序。
Arrays.sort(str, new Comparator<String>(){
public int compare(String s1, String s2){
String a = s1 + s2;
String b = s2 + s1;
return a.compareTo(b); //a>b,返回大于0;a<b,返回小于0;相等返回0
}
});
Stack
入栈:stack.push(Object o)
出栈:stack.pop()
返回栈顶:stack.peek()
栈空:stack.empty()
Queue
Queue接口,实现类常用LinkedList。
queue.add(E e)和queue.offer(E e):在队尾添加元素,当容量已满时,add() 方法会抛出IllegalStateException异常,offer() 方法只会返回 false 。
queue.remove()和queue.poll():都是都是返回队头元素,并在队列中删除返回的对象。不同点:如果没有元素remove()会直接抛出 NoSuchElementException 异常,而poll()会返回 null。
queue.element()和queue.peek():返回但不删除队列头。