Java编程题中常用api

//String
String s;
char ch = s.charAt(i); //得到s中的第i个字符
s.toCharArray();	//将字符串转换为字符数组
s.substring(5,10);	//切片函数,可以s=s.substring(5,10)+s.substring(0,3);不包括结束位置的字符
s.replace(" ","%20"); //替换
s.split("\\s+");	//正则匹配连续的空白字符作为分隔符分割
s.trim();		//去除开头和末尾的空白字符
String[] words;
Collections.reverse(Arrays.asList(words));	//将字符串数组进行反转
String.join(" ", words);	//将字符串数组拼成一个字符串
String s5 = String.valueOf(ch);//char数组转换成string
Arrays.equals(res,ans) //判断数组是否相等
(s1 + s1).contains(s2) //判断是否包含
s1.compareTo(s2) //正数则s1大于s2

Integer.parseInt(a, 2)	//String a = "101001",转化为了十进制
Integer.parseInt(a)		//String a = "54",转化为了整数54

StringBuffer res = new StringBuffer();
res.append(ch);	//添加字符
res.toString();	//转换为String类型
res.deleteCharAt(res.length()-1); //删除某个字符

//在heights数组的头和尾加了两个高度为 0 的柱体。
int[] tmp = new int[heights.length + 2];
System.arraycopy(heights, 0, tmp, 1, heights.length);

//截取res数组中的下标1到下标i的,组成一个数组。
Arrays.copyOfRange(res,1,i+1)

//自定义升序
Arrays.sort(intervals, new Comparator<int[]>() {
    public int compare(int[] interval1, int[] interval2) {
        return interval1[0] - interval2[0];
    }
});



//哈希表
Map<Charactor,Integer> fre = new HashMap<Charactor,Integer>();
fre.put(ch,1);	//添加key为ch,value为1
fre.getOrDefault(ch,0);	//如果存在key=ch,返回value;不存在key=ch,返回默认值0
for(int val : hmp.values()){}	//循环哈希表中的value
fre.get(ch);
fre.containsKey(ch);	//判断key为ch的value是否存在,存在返回true
//得到对应value的key
for(String getKey: map.keySet()){
    if(map.get(getKey).equals("1")){
        key = getKey;
    }
}


Set<ListNode> seen = new HashSet<ListNode>();
seen.add();

//Set HashSet
Set<Integer> set = new HashSet<Integer>();
set.add(root.val);	//如果不存在,则添加
set.contains(root.val);	//查询指定元素是否存在,存在返回true	
hst.toArray(new String[0]); //返回String[]数组



//队列
Queue<TreeNode> queue = new LinkedList<TreeNode>();
queue.offer(); queue.add();	//添加
queue.poll();	//出队列
queue.peek();	//返回队列头元素,不删除


//动态数组
ArrayList<Integer> ans = new ArrayList<>();
ans.add(1);	//添加某个元素
ans.get(i);	//得到某个位置的元素
ans.remove(i); //删除某个位置的元素
Collections.reverse(ans);	//控制list实现反转
Collections.swap(ans,first,i);	//first和i换位置


//栈
Stack<Character> stack = new Stack<Character>();
stack.push();
stack.pop();
stack.isEmpty();
stack.size();
for (Map.Entry<Integer, Integer> entry : freq.entrySet()) {
    int num = entry.getKey(), occ = entry.getValue();
    if (occ == 1) {
        ans = num;
        break;
    }
}

// people = [[7,0],[4,4],[7,1],[5,0],[6,1],[5,2]]
// 先按照下标为0的升序排序,如果相同则按下标为1的降序排序。
Arrays.sort(people,new Comparator<int[]>(){
    public int compare(int[] person1,int[] person2){
        if(person1[0]!=person2[0]){
            return person1[0] - person2[0];
        } else{
            return person2[1] - person1[1];
        }
    }
});
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值