- JavaApi,6.12-6.18
- String字符串知识点
- 字符常量池特性
- 凡是使用字面量创建的字符串都会被缓存在常量池中,当我们再次使用相同字面量创建字符串时会重用对象
- str.length()
- 可以获取字符串的长度(字符个数)返回int型数据
- str.indexOf(String str)
- int indexOf(String str)方法可以从指定下标位置开始检索第一次出现给定字符串的位置,str.indexOf(int,“目标索给定字符串在当前字符串中的位置”);,从开头开始检索,如果当前字符串不含有指定内容则返回-1, //重载的indexO文字
- str.substring(int,int)
- 截取字符串长度,若不标明结束长度,会自动截取到字符串末尾
- str.strim()
- strim()方法,去除字符串两边空白
- str.charAt(int)
- 获取指定下标的字符串并返回
- boolean startsWith(String str) boolean endsWith(String str)
- 用来判断开头和结尾是否是自己设定的相应字段,比如设置文件格式就是他来判断是否是正确格式
- str.toUpperCase() 将当前字符串中的英文部分转换为全大写。 str.toLowerCase() 将当前字符串中的英文部分转换为全小写。str1.equalsIgnoreCase(str2)扩展:忽略字符串的大小写进行对比判断对错
- String.valueOf(“其他类型的数据”)
- 将其他类型数据转换成为String类型
- StringBuilder工具类StringBuffer builder = new StringBuffer(“好好学习java”); String line = builder.toString();
- str.append(“str1”)
- 在字符串末尾增加目标字符串
- str.delete(0,8)
- 删除特定字符串
- str.replace()
- 替换或者叫修改特定内容
- str.insert(int,“”)
- 在指定位置插入特定字符串
- 正则表达式
- 常常搭配StringBuilder工具类使用
- . 点代表匹配所有单个字符
- +号代表匹配1次或者是多次
- [ABC]匹配[…]中的所有字符
- [^ABC]匹配除了[ ]之外的所有字符
- [A-Z]+ 代表一个区间匹配所有大写字母
- toString()equals()
- Alt+Insert 在相关方法中直接按下,然后选择toString(),ieda就会自动帮你写好,选择equals()and hashCode(),ieda也会自动生成
- 当输出内容不直观或者是字节地址时就要考虑重写toString()方法了
- 当比值内容输出结果是不正常的结果,其实比较的是地址,重写方法会比较内容。equals() and hashCode()
- str.split(" ")
- 按照特定需求进行拆分字符串,注意拆分后是按照数组的形式存储的,需要对其进行转义成String类型,Arrays.toString(目标数组);
- 集合Collection接口
- 该接口是所有集合的顶级接口,里面定义了所有集合都要具备的功能集合与数组相似
- List接口 特点:有序且元素可以重复
- Set接口 特点:无序且不能重复
- c.size()
- 返回当前集合中的元素个数
- boolean isEmpty()
- 来判定集合是否为空集
- clear()
- c.clear()清空集合
- c.add(目标内容)boolean c.add() 判断是否添加成功
-
- c1.contains(目标内容)c1.remove(目标内容)
- 也需要重写toString()方法
- 要是没有重写equals方法则不会删除相关元素
- 集合的几个基本操作
- 反转操作: Collections.reverse©;//反转集合元素
- 插入操作: c.add(int index,E e);将给定元素插入指定元素
- 删除操作: c.remove(int index);删除指定元素,并将该元素返回
- c.set(int index,E e),将指定元素设置到指定下标元素
- c.get(int index);获取指定下表处对应的元素
- 集合之间的操作
- 并集:boolean addAll(Collection c)
- c1.addAll(c2);将给定集合c2中的所有元素添加到当前集合c1中(取并集)
- 交集: retainAll(Collection c)
- c1.retainAll(c3);仅保留当前集合中与给定集合的共有元素
- c1.removeAll(c3);boolean removeAll(Collection c)删除当前集合中与给定集合的共有元素
- c.Iterator()
- 迭代器Iterator it = c.iterator();
- it.hasNext()布尔值,用来判断下一位是否存在
- String e = (String)it.next();取出当前位置的值
- 注意:遍历过程中不可以通过集合的方法增删元素,否则会抛出异常 若值已经被it.nest();取出,用it.remove();直接移除即可
- 泛型
- 泛型的数据是按照集合输出的,不用遍历就能达到数据遍历的效果就是将集合输出的结果按照指定类型输出集合指定泛型后,新循环遍历时可以直接用元素类型接收元素,不必在添加造型操作 for (String e : c){ System.out.println(“泛型:”+e); }
- 集合转换为数组数组转换为集合
- 将集合 c 中的元素存入数组,若长度不够会自动创建,若有冗余则填充为null
- Arrays.asList(相关数组arr);可以将arr转换成为集合
- 集合的排序
- Collections.sort©;会自动拍好序列
- c.sort((o1,o2)->o1.length()-o2.length());这是集合从小到大的排序,sort后面的是固定的,只能将o1.length()-o2.length())颠倒。这样就是从小到大
- lambda表达式JDK8的新特性
- list.sort((o1,o2)->o1.length()-o2.length());