Java笔试常用库函数

字符串转数组

String s = "13";
char[] str = s.toCharArray();
字符串子串
s.subString(a,b);  //获取 [a,b)子串。

数组排序

对下标1,2,3排序,按照从小到大。
不写比较器是从大到小。

	public static void main(String[] args){
    
    
        Integer[] nums = new Integer[]{
    
    1,6,8,2,3,4};
        Arrays.sort(nums, 1, 4, new Comparator<Integer>() {
    
      
            @Override
            public int compare(Integer o1, Integer o2) {
    
    
                return o2-o1;
            }
        });
        System.out.println(nums);
    }

二维数组 int[][] intervals = new int[N][2];
对一维进行排序:

[[1,3],[8,10],[2,6],[15,18]] -> [[1,3],[2,6],[8,10],[15,18]]

    public int[][] merge(int[][] intervals) {
        if (intervals.length == 0) {
            return new int[0][2];
        }
        Arrays.sort(intervals, new Comparator<int[]>() {
            public int compare(int[] a, int[] b) {
                if(a[0]!=b[0])
                    return a[0] - b[0];
                return b[1]-a[1];
            }
        });

随机数

获取[left,right]中的一个数

Random random = new Random();
int tem = random.nextInt(right-left+1)+left;

Queue

用LinkedList实现:Queue<TreeNode> treeNodes = new LinkedList<TreeNode>();

boolean add(E e); 返回true,没空间抛异常。
boolean offer(E e);  成功true,没空间返回false,不抛异常。

删
E remove();  移除队首。

查
E peek();  查询队首。
E element();  获取队首,如果为空抛异常。

其他
E poll();  查询,移除队首。

字符串转整数数组

String version = "234,324,22"
String[] versions = version.split("\\.");
int res[i] = Integer.parseInt(v1[i]);

数组默认值

1、int类型定义的数组,初始化默认是0
2、String类型定义的数组,默认值是null
3、char类型定义的数组,使用UTF8字符集 给出的结果是
4、double类型定义的数组,默认值是0.0
5、float类型定义的数组,默认值是0.0
6、boolean类型定义的数组,默认值是false

集合

List<Integer> output;
new ArrayList<Integer>(output)//深拷贝。
Collections.swap(output, first, i);  //换下标i和first的数据

stringBuffer

    public static void main(String[] args) {
    
    
        StringBuffer stringBuffer = new StringBuffer();
        stringBuffer.append(1);
        stringBuffer.append('a');
        stringBuffer.append("H  ");
        stringBuffer.append(new char[]{
    
    'j','n','d','x'});
        System.out.println(stringBuffer);
    }

运行结果:
在这里插入图片描述

LinkedList

插入值
addFirst()
addLast()

数组转list

String[] dataArray = data.split(",");
        List<String> dataList = new LinkedList<String>(Arrays.asList(dataArray));

字符串处理

        // 除去开头和末尾的空白字符
        s = s.trim();
        // 正则匹配连续的空白字符作为分隔符分割
        List<String> wordList = Arrays.asList(s.split("\\s+"));
        Collections.reverse(wordList);
        return String.join(" ", wordList);
    }
}
 

Character使用

Character.isLetterOrDigit(ch)
Character.toLowerCase(ch)

大顶堆

PriorityQueue<Integer> queue = new PriorityQueue<Integer>(new Comparator<Integer>() {
    
    
            public int compare(Integer num1, Integer num2) {
    
    
                return num2 - num1;
            }
        });

猜你喜欢

转载自blog.csdn.net/weixin_44532671/article/details/123160606