学习了ArrayList,整理下ArrayList的常用功能及基本案例。打好基础,daydayup!
?如果需要了解API是什么并如何使用,可以看这篇文章。
java常用应用程序编程接口(API)——String概述及使用案例
ArrayList是集合中最常用的一种,集合类似于数组,也是容器,用来装数据的,但集合的大小可变。
数组定义完成并启动后,长度就固定了;集合大小可变,开发中用的更多。
创建对象,调用无参数构造器初始化对象:public ArrayList();??
1,创建一个ArrayList的集合对象
格式:public boolean add(E e)
2,在合集的某个索引位置添加数据
格式:public void add(int index,E element)
3,根据索引从合集中获取某个索引的值
格式:public E get(int index)
4,获取集合中元素的个数
格式:public int size()
?5,删除集合中某个元素,并返回这个元素
格式:public E remove(int index)
6,直接删除数据,删除成功返回true,删除失败返回false
格式:public boolean remove(Object o)
?7,修改索引中的值,并返回原来的值
格式:public E set(int index,E element)
例:
public static void main(String[] args) {
//1,创建一个ArrayList的集合对象
ArrayList<String> la = new ArrayList();
la.add("laslsl");
la.add("kuku");
la.add("kuku");
la.add("lucy");
la.add("yojimbo");
System.out.println(la);
System.out.println("----------------");
// 2,在合集的某个索引位置添加数据
la.add(0,"shuai");
System.out.println(la);
System.out.println("-----------------");
//3,根据索引从合集中获取某个索引的值;
String l1= la.get(1);
System.out.println(la.get(1));
System.out.println(l1);
System.out.println("-----------------");
//4,获取集合中元素的个数
int l2= la.size();
System.out.println(l2);
System.out.println("------------------");
//5,删除集合中某个元素,并返回这个元素
System.out.println(la.remove(1));
System.out.println("-------------------");
//6,直接删除数据,删除成功返回true,删除失败返回false
System.out.println(la.remove("kuku"));
System.out.println("--------------------");
//7,修改索引中的值,并返回原来的值
System.out.println(la.set(1, "我是大帅哥"));
System.out.println(la);
}
需求:现在假如购物车中存储了如下这些商品:Java入门,宁夏枸杞,黑枸杞,人字拖,特级枸杞,枸杞子。现在用户不想买枸杞了,选择了批量删除,请完成该需求。
实验思路:1,合集遍历;2,匹配枸杞选项;3,然后删除数据
public class ArrayListDemo1 {
public static void main(String[] args) {
ArrayList<String> la = new ArrayList();
la.add("Java入门");
la.add("宁夏枸杞");
la.add("黑枸杞");
la.add("人字拖");
la.add("特级枸杞");
la.add("枸杞子");
//1
// for (int i = 0; i < la.size(); i++) {
// String q=la.get(i);
// if (q.contains("枸杞")){
// la.remove(q);
// i--;
// }
//
// } System.out.println(la);
//2
for (int i = la.size() - 1; i >= 0; i--) {
String q = la.get(i);
if (q.contains("枸杞")) {
la.remove(q);
}
}System.out.println(la);
}
}
实验结果:数据成功被删除?
注:遍历方法有两种,一种从前到后进行遍历,另一种从后向前进行遍历。从前向后遍历,数据删除后会造成原本的合集长度变短,但i并不会跟随后退,所以需要在删除数据后进行i--操作,使i向后退一步
撒花!!!!?