Java常用API
一、Arrays
- 排序:
- Arrays.sort(int [] a)
- Arrays.sort(int [] a, int index, int end)
- Arrays.sort(int [] a, (o1, o2) -> {return o2-o1; //升序} )
- 比较是否相同
- Arrays.equals(int [] a, int [] b)
- 二分查找
- int Arrays.binarySearch( int[], int key) // 大于0为找到,返回相应位置
- 拷贝数组
- Arrays.copyOf(int [] array, int length)
- Arrays.copyOfRange(int[] original, int from, int to)
- // from 表示开始位置, to 表示结束位置
- // 复制下标为 :[from, to)
二、String
-
长度:str.length()
-
获取对应位置的字符:str.charAt(int index)
-
字符串查找
- int indexOf(char ch) ,返回ch字符第一次出现的位置下标,没有就返回-1
- int indexOf(char ch, int fromIndex),从fromIndex位置开始找ch字符第一次出现的位置,没有就返回-1
- int indexOf(String str,int formIndex),从formIndex开始,找Str字符串第一次出现的位置,返回其字符串首字母下标,没有返回-1
- int lastIndexOf(char ch),从后往前找字符ch,返回从后往前第一次出现ch字符的下标,没有找到返回-1,后同上
-
字符串截取
- str.substring(int index, int end) // [index, end)
-
字符串替换
- str.replace(char a, char b)
- str.replace(String a, String b)
- str.replaceFirst(String a, String b) // 替换出现的首个字符串
-
字符串拆分
- String[] ret = str.split(“,”)
-
字符串转换
- String.valueOf(int a); // 可以是float等其他类型
- Integer.parseInt(String s);
-
大小写
- 转大小:str.toUpperCase()
- 转小写:str.toLowerCase()
-
转字符数组
-
char[] chars = str.toCharArray();
-
char[] chars1 = {‘a’,‘b’,‘c’};
String str = new String(chars1);
-
-
格式化:String str = String.format(“%d-%d-%d”,2023,5,28);
-
其他:trim(),equals()
-
StringBuffer和StringBuilder
- 初始化:StringBulider str = new StringBuilder(String s);
- 反转:str.reverse();
- 添加:str.append(String s);
三、ArrayList
-
添加元素
- public boolean add(E e):添加元素
- public void add(int index,E element):在指定的索引处添加一个元素
-
获取元素:
- public E get(int index):返回指定索引处的元素
-
修改对应位置的元素:
- public E set(int index,E element):修改指定索引处的元素,返回被修改的元素
-
删除元素
- public boolean remove(Object o):删除指定的元素,返回删除是否成功
- public E remove(int index):删除指定索引处的元素,返回被删除的
-
集合长度
- public int size():返回集合中的元素的个数
-
排序
-
调用Collections.sort()进行排序
-
使用ArrayList.sort()传入比较器
-
ArrayList<Integer> list = new ArrayList<>(); list.sort(new Comparator<Integer>() { @Override public int compare(Integer o1, Integer o2) { return o1-o2; //降序 // return o2-o1; //升序 } });
-
// lambda表达式版 ArrayList<Integer> list = new ArrayList<>(); list.sort((o1, o2) -> { return o2-o1; //升序 });
-
-
四、常用数据结构
- LinkedList
- 经常用于模拟栈或者队列
- 在队尾添加元素
- public boolean offer(E e)
- public boolean add(E e)
- public void add(int index, E element) // 向指定位置插入元素
- public boolean addAll(Collection c) // 将一个集合的所有元素添加到链表后面
- public boolean offerFirst(E e) // 头部插入元素
- public boolean offerLast(E e)
- public void clear() // 清空链表
- public E removeFirst()
- public E removeLast()
- public E get(int index)
- public boolean contains(Object o)
- public T[] toArray(T[] a)
- Map
- public boolean containsKey(int key)
- public boolean isEmpty()
- put、get、size、clear、keySet、values
- Set
- add、remove、isEmpty
- Stack
- pop、peek、search、empty
五、笔试中常用的方法
-
Scanner sc = new Scanner(System.in); String s = sc.nextLine(); sc.close()