Java容易敲错API错误

(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);


二:String 类

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():返回但不删除队列头。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值