一个不甘平凡的普通人,致力于为Golang社区和算法学习做出贡献,期待您的关注和认可,陪您一起学习打卡!!!
专栏:算法学习
专栏:Go实战
个人主页:个人主页
最近在练习字符串类型的算法题时候,编程语言内部自带了很多api还有一些实用的方法,在此总结一下用法,方便后面回顾使用。
1.返回的是一个boolean类型的,可以用于去除字符串中非数字和字母的字符
Character.isLetterOrDigit()
2.判断是否是字符
Character.isDigit()
3.判断是否是小写字符
Character.isLowerCase()
4.转换成小写或者大写
Character.toLowerCase()
Character toUpperCase()
一般题中要求去重的时候,可以使用HashSet,set表中不支持有重复元素
HashSet set = new HashSet<>();
set.add(1);//添加元素
System.out.println(set.size()); //长度
set.remove(1); //删除元素
System.out.println(set.isEmpty()); // 判断是否是空
set.clear(); //清除所有元素
//判断是否包含某个元素 ,布尔类型
System.out.println(set.contains(1));
一般题中要统计字符出现的次数,可以使用HashMap来统计,支持重复
HashMap map = new HashMap<>();
map.put('1',1); //压入元素
map.get('1');// 提取键值
//获取键值,默认为0
map.getOrDefault('1',0);
System.out.println(map.isEmpty()); //判断是否为空
System.out.println(map.containsKey('1')); //判断是否含有键
map.remove('1'); //删除
map.values(); //显示所有的值
map.size();
//获得每一个键和值
for(Map.Entry entry: map.entrySet()){
int key = entry.getKey(),value = entry.getValue();
}
这类题经常遇到,所以总结一下。以这个例子
public static void main(String[] args) {
String a = "12312";
int result = 0;
for(int i =0;i<a.length();i++){
//拿到数字
int temp = result*10+(a.charAt(i)-'0');
if(temp/10 != result){
System.out.println(1);
}
result = temp;
}
}