一.掌握ArrayList集合常见方法的使用
import java.util.ArrayList;
1.1调用空参构造创建ArrayList集合对象
ArrayList list = new ArrayList();
 
1.2 ArrayList集合类提供了add方法可以添加数据
list.add(1);
list.add(2.2);
list.add('a');
list.add(true);
list.add("黑马");
//3.注意:打印语句和集合底层有处理,直接打印集合对象名,不会打印集合地址值,而是打印出集合中的数据
System.out.println(list);
 
- 看似此时集合什么类型的数据都能添加,但实际上加入集合后都变成了Object类型 ,如果一个数据变成了Object类型,那么它原来类型的功能就不能使用了
Object data = list.get(4); - 获取集合中指定索引位置的数据,调用 get(索引)
方法,集合的索引从0开始 
1.3 创建集合,要制定集合中存储数据的类型,格式:ArrayList<数据类型> 集合名 = new ArrayList<>();
//需求:创建一个集合,让其只能存储String字符串
ArrayList<String> strList = new ArrayList<>();
 
- 注意:<数据类型>是Java中的泛型,这个数据类型只能使用引用数据类型,不能使用基本数据类型,如果非要存储基本数据类型,请使用它们对应的包装类,技巧:首字母大写
 - byte:Byte
short:Short
int:Integer
long:Long
float:Float
double:Double
char:Character
boolean:Boolean 
       ArrayList<Integer> intList = new ArrayList<>();
        intList.add(1);
        intList.add(2);
        intList.add(3);
        System.out.println(intList);
 
二.掌握ArrayList集合常见方法的使用
import java.util.ArrayList;
2.1创建一个存储String字符串的ArrayList集合对象
ArrayList<String> list = new ArrayList<>()
 
2.2 add(E e):添加数据到集合容器的尾部
 
list.add("吴");
list.add("罗");
list.add("峰");
list.add("李");
System.out.println(list);
//[吴, 罗, 峰, 李]
 
2.3 add(int index, E element):往指定index索引位置添加指定的element数据
 
list.add(0, "徐");
System.out.println(list);
//[徐, 吴, 罗, 峰, 李]
 
2.4 get(int index):获取指定索引位置的数据
 
String str = list.get(1);
System.out.println(str);
//吴
 
2.5 set(int index, E element):设置集合中指定索引index位置,为指定的数据element
 
 String setData = list.set(0, "吴签");
 System.out.println(list);
//返回的是被修改的数据
System.out.println(setData);
 
练习
需求:现在假如购物车中存储了如下这些商品:Java入门,宁夏枸杞,黑枸杞,人字拖,特级枸杞,枸杞子。
 现在用户不想买枸杞了,选择了批量删除,请完成该需求
public static void main(String[] args) {
        //1.创建ArrayList集合,泛型声明为String
        ArrayList<String> list = new ArrayList<>();
        //2.依次往集合中添加指定的商品名称
        list.add("Java入门");
        list.add("宁夏枸杞");
        list.add("黑枸杞");
        list.add("人字拖");
        list.add("特级枸杞");
        list.add("枸杞子");
        System.out.println(list);
        //3.遍历集合,快捷方式:集合名.fori
        /*
        for (int i = 0; i < list.size(); i++) {
            //调用集合的get方法,获取i索引位置的商品名称
            String name = list.get(i);
            //判断字符串name中是否包含"枸杞"
            if (name.contains("枸杞")) {
                //删除i索引位置的数据
                list.remove(i);
                //使用i--抵消i++
                i--;
            }
        }
        */
        //也可以倒着遍历集合,进行批量删除
        for (int i = list.size() - 1; i >= 0; i--) {
            String name = list.get(i);
            if (name.contains("枸杞")) {
                list.remove(i);
            }
        }
        System.out.println(list);
    }
}










