标签:String 对象 ArrayList 元素 API 字符串 public
常用API(String、ArrayList)
什么是API?
-
应用程序编程接口,就是java自己写好的程序,给程序员调用,方便完成一些功能
-
API文档:程序使用说明书
String
-
是什么?
-
String是字符串类型,它定义的变量可以指向一个字符串对象
-
-
String是不可变字符串
-
String创建对象的方式
-
方式一:
-
直接使用双引号围起来:String name = "黑马";
-
-
方式二:
-
new构造器
-
构造器
-
public String();创建一个空白字符串对象,不含有任何内容
-
public String(String original);根据传入的字符串内容,来创建字符串对象
-
public String(char[] chs);根据字符数组的内容,来创建字符串对象
-
public String(byte[] chs);根据字节数组的内容,来创建字符串对象
-
-
-
-
两种方式的区别:
-
双引号给出的字符串对象,存在于堆内存中的常量池中,相同形式只会存储一份
-
new字符串对象,每new一次都会在堆内存中产生一个字符串对象
-
-
-
String常用方法(常用API)
-
判断字符串内容
-
背景:==判断字符串对象是判断地址的,这样会引起很多业务问题
-
必要性:判断字符串,开发中更多时候希望判断内容一样就返回true,不在乎地址是否相同,此时需要用equals方法
-
public boolean equals(Object anObject);将此字符串与指定对象进行比较,只关心字符内容是否一致
-
public boolean equalslgnoreCase(String anotherString);将此字符串与指定对象进行比较,忽略大小写比较字符串,只关心内容是否一致
-
结论:
-
之后使用字符串进行内容比较,必须使用字符串的equals方法
-
什么时候==比较:基本类型比较的时候
-
-
-
ArrayList
-
ArrayList是什么?
-
一种集合
-
代表的是一种容器,类似于数组
-
元素可以重复,元素存在索引
-
特点:大小可变,类型可以不固定,功能更强大,适合做元素个数不确定,同时存在增删操作的业务场景
-
-
-
如何构建ArrayList的对象
-
public ArrayList();
-
ArrayList list = new ArrayList();
-
-
ArrayList的常用方法
-
方法 说明 public boolean add(E e) 将指定的元素追加到此集合的末尾 public void add(int index,E element) 在此集合中的指定位置插入指定的元素 public E get(int index) 返回指定索引处的元素 public int size 返回集合中的元素个数 public E remove(int index) 删除指定索引处的元素 public boolean remove(Object o) 删除指定的元素,返回删除是否成功 public E set(int index,E element) 修改指定索引处的元素,返回被修改的元素
-
-
泛型:集合都是支持泛型的
-
ArrayLIst<E>
-
约束集合在编译阶段只能操作某种数据类型
-
ArrayList<String> list = ArrayList<>();
-
ArrayList<Integer> list = ArrayList<>();
-
……
-
-
注意:集合和泛型都不支持基本数据类型,只能支持引用数据类型
-
注意:定义集合后都应该采用泛型
-
问题:就是要什么都存
-
ArrayList list = new ArrayList<>();
-
推荐这样写:ArrayList<Object> list = new ArrayList<>();
-
-
-
ArrayList遍历并删除元素:
-
从前往后遍历删除存在问题:可能后漏删元素
-
如何解决?
-
删除元素后,马上后退一步i--就可以了
-
从后往前遍历,也可以实现
-
-
-
-
ArrayList存储自定义类型的对象
-
注意:集合容器存储的每个对象是什么东西?
-
在堆内存中的地址
-
-
标签:String,对象,ArrayList,元素,API,字符串,public 来源: https://www.cnblogs.com/aoyouJavadeDashu/p/16382446.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。