导图社区 常用API(String、ArrayList)
常用API(String、ArrayList)的思维导图,介绍了String与ArrayList的含义,以及一些常用方法,收藏下图学习吧!
编辑于2022-05-09 23:51:04常用API(String、ArrayList)
什么是api?
全称应用程序遍历接口,就是Java自己写好的 程序,给程序调用的,方便完成一些功能的。
API文档
程序使用说明书
String
是什么?String是字符串类型,它定义的变量 可以指向一个字符串对象。
String是不可变字符串
String创建对象的方式
方式一:
直接使用双引号围起来,如:String name = "黑马";
方式二:
new 构造器得到字符串对象
两种方式的区别(面试笔试题会问到)
双引号给出的字符串对象,存在于堆内存中的常量池中,相同内容只会存储一份。
new字符串对象,每new一次都会在堆内存中
String的常用方法(常用API)
判断字符串内容的
背景:==判断字符串对象是判断地址的,这样会引起很多业务问题。
必要性:判断字符串开发中更多时候希望判断 内容一样就返回true,不在乎地址是不是一样, 此时需要用equals方法。
子主题
结论:之后只要是字符串进行内容比较,那 必须使用字符串的equals方法
结论2:什么时候用==比较? 基本数据类型的比较,那就用==
其他常用方法:
/** * 目标:掌控String常用的其他API */ public class StringAPIOtherDemo5 { public static void main(String[] args) { //1.public int length(); 获取字符串的长度 String name = "我爱你中国love"; System.out.println("字符个数:" + name.length()); //2.public char charAt(int index); 获取某个索引位置处的字符 char ch = name.charAt(1); System.out.println(ch); System.out.println("----------遍历字符串中每个字符-------------"); for (int i = 0; i < name.length(); i++) { char c = name.charAt(i); System.out.println(c); } //3.public char[] toCharArray(); 把字符串转换成字符数组 System.out.println("--------把字符串转换成字符数组-------"); char[] chars = name.toCharArray(); for (int i = 0; i < chars.length; i++) { System.out.println(chars[i]); } //4.public String substring(int beginIndex,int endIndex); 截取内容,(包前不包后) System.out.println("--------截取内容,(包前不包后)-------"); String s1 = "java是最牛的编程语言之一~~"; String rs = s1.substring(8,12); System.out.println(rs); //5.public String substring(int beginIndex); 从当前索引一直截取到末尾 System.out.println("-------从当前索引一直截取到末尾------"); String rs2 = s1.substring(5); System.out.println(rs2); //6.public String replace(CharSequence target, CharSequence replacement); 将一种字符串用另一种字符串代替 System.out.println("------6-------"); String s2 = "三胖哥是00后,三胖哥的发型yyds,跟三胖哥一样"; String r3 = s2.replace("三胖歌","***"); System.out.println(r3); //7.public boolean contains(CharSequence s); 查看有没有该字符串 System.out.println("------7-------"); System.out.println(s2.contains("三胖哥")); System.out.println(s2.contains("三胖哥的")); //8.public boolean startsWith(string prefix); 以什么开始 System.out.println("------8-------"); System.out.println(s2.startsWith("三胖哥")); System.out.println(s2.startsWith("三胖")); System.out.println(s2.startsWith("二胖2")); //9.public String[] split(String s); 按照某个容器把字符串分刮成字符串数组返回 System.out.println("------9-------"); String data = "网,有,会话"; String[] names = data.split(","); for (int i = 0; i < names.length; i++) { System.out.println("选择了:" + names[i]); } } }
ArrayList
集合:代表的是一种容器,类似于数组,
集合的特点:大小可变,类型可以不固定, 功能更加强大,适合做元素个数不能确定, 同时存在增删改操作的业务场景。
ArrayList是什么?是一种集合
元素可以重复的,元素存在索引。
如何构建ArrayList的对象代表一个集合容器,存储数据。
public ArrayList();
ArrayList list = new ArrayList();
泛型:集合都是支持泛型的
ArrayList<E>
约束集合在编译阶段只能操作某种数据类型
ArrayList<String> list = new ArrayList();
ArrayList<Student> list = new ArrayList();
ArrayList<Movie> list = new ArrayList();
ArrayList<Integer> list = new ArrayList();
注意:集合和泛型都不支持基本数据类型,只能支持引用数据类型。
注意:以后定义集合都应该采用泛型
问题1:我的集合就是要什么都存
ArrayList list = new ArrayList();
推荐这样写:ArrayList<Object> list = new ArrayList<>();
ArrayList的常用方法:
ArrayList遍历并删除元素
从前往后边遍历边删除存在问题:可能会存在漏掉元素。
删除元素后,马上后退一步i--就可以了
从后往前遍历,边遍历边删除就没有问题了
ArrayList存储自定义类型的对象
ArrayList<Student> list = new ArrayList();
ArrayList<Movice> list = new ArrayList();
注意:集合容器中存储的是每个对象的什么东西?在堆内存中的地址!!