1 package cn.learn.basic;
2
3 import java.util.ArrayList;
4
5 /*
6 数组里存入对象
7 引用类型-对象数组ArrayList
8 在Phone[] myPhone=new Phone[3];缺点:一旦创建程序运行期间,长度不可以改变
9
10 ArrayList集合与Phone[]数组的区别
11 1.ArrayList可以改变长度
12
13 注意事项:
14 1.ArrayList<E>,E为泛型-装在集合中的统一类型且只能是引用类型
15 2.对于ArrayList集合来说,生成的对象直接打印出来的不是地址值,而是内容。
16 3.若内容是空,得到的是[];
17 4.生成的对象可为形参,也可是返回值
18
19
20 */
21 public class ArrayListApi {
22 public static void main(String[] args) {
23
24 //普通创建myPhone[0]中,其中存的是地址值
25 Phone[] myPhone=new Phone[3];
26 //**myPhone[0].setName("魅族");报错线程异常,是因为myPhone[0]中无地址数据
27 Phone one=new Phone();
28 one.setName("魅族");
29 myPhone[0]=one;
30 System.out.println(myPhone[0].getName());
31
32 //或者这样,new 一个类返回地址给myPhone[1]这个对象数组
33 myPhone[1]=new Phone();
34 myPhone[1].setName("华为");
35 System.out.println(myPhone[1].getName());
36
37 //ArrayList使用方法,E不能是基本类型例如int,但可以将int包装
38 ArrayList<String> list = new ArrayList<>();
39 System.out.println(list);
40
41 //向集合当中添加数据,用方法摘要中的add(E e)是有boolean返回值的,检查添加的元素是否成功
42 list.add("我是ArrayList类创建的对象list,用add方法添加的0!!!");
43 list.add("我是ArrayList类创建的对象list,用add方法添加的1!!!");
44 list.add("我是ArrayList的对象list,用get方法打印的!!!");
45 System.out.println(list);
46 System.out.println(list.get(2));
47 System.out.println("集合长度:"+list.size());
48 //remove返回的值是泛型E
49 System.out.println("我是被删除的数据:"+list.remove(1));
50 System.out.println(list);
51
52 /*
53 为使用可变长度的数组ArrayList,E可为基本类型的包装类
54 基本类型 包装类
55 byte Byte
56 short Short
57 int Integer
58 long Long
59 float Character
60 boolean Boolean
61
62 jdk版本1.5以后 自动装箱、自动拆箱
63 自动装箱指:基本类型->包装类型
64 */
65 ArrayList<Integer> arrInt= new ArrayList<>();
66 arrInt.add(2);
67 arrInt.add(3);
68 arrInt.add(4);
69 System.out.println(arrInt);
70 }
71 }