ArratList 类:存放同一数据类型容器(只能为引用数据类型,因实际其内部存放的是地址)
1.导入其所在包 import java.util.ArratList
2.创建对象 ArrayList<E> 对象名=new ArrayList<>();
E:泛型数据类型,指定对象名中存放指定类型的数据,不可省略,需为引用数据类型
3.使用 即对象名.方法(参数可能有可能无)
注意:当打印对象名时,非地址,而是一个如同python中列表一般,存放的是各个数据[元素1,元素2],若无数据,即空列表[]
4。ArrayList的常用方法
对象名.add(元素) //向容器中添加指定数据类型的元素 返回值为boolean类型,可不用接受返回值,因为都会成功添加元素(尾部添加)
对象名.get(i) //获得容器中下标为i的元素,返回值是容器中存储的数据类型
对象名.size() //获得容器中元素的个数
对象名.remove(i) //移除下标为i的元素,返回值是删除的数据元素
5.倘若想要用ArrayList存储整形,浮点形,char类型,而<E>只能为引用数据类型,如何?Java为我们将基本数据类型包装成了类,间接变成引用
int------>Integer ArrayList<Integer> li=new Arraylist<>();//即存放整数元素
char---->Character ArrayList<Character> li=new Arraylist<>();//即存放char元素
float--->Float, byte--->Byte, double--->Double, long--->Long //只有int和char包装类名字特殊,其余大写即可
三个Demo熟悉其使用
//随机生成数加入到容器中(Random与ArrayList)
1 import java.util.ArrayList; 2 import java.util.Random; 3 /*随机生成范围为[1,33]的数字加入到动态数组中*/ 4 public class DemoArrayList { 5 public static void main(String[] args) { 6 Random r=new Random(); 7 ArrayList<Integer> list=new ArrayList<>(); 8 for (int i = 0; i < 6; i++) { 9 list.add(r.nextInt(33)+1); 10 } 11 for(int i=0;i<list.size();i++){ 12 System.out.println(list.get(i)); 13 } 14 } 15 }
//定义方法输出容器以指定格式输出{元素@元素@元素。。。元素}
1 import java.util.ArrayList; 2 3 //定义方法输出ArrayList以{元素@元素}格式输出 4 public class DemoSecond { 5 public static void main(String[] args) { 6 ArrayList<String> li=new ArrayList<>(); 7 mymethod(li); 8 } 9 public static void mymethod(ArrayList<String> s){ 10 s.add("hello"); 11 s.add("da"); 12 s.add("nhao"); 13 System.out.print("{"); 14 for(int i=0;i<s.size();i++){ 15 if(i==s.size()-1){ 16 System.out.print(s.get(i)+"}"); 17 } 18 else 19 System.out.print(s.get(i)+"@"); 20 } 21 } 22 }
//将大集合中的20个随机数,其中是偶数的放入到小集合中
1 import java.util.ArrayList; 2 import java.util.Random; 3 //定义方法将大集合中20个随机数,其中是偶数的放入小集合中 4 public class DemoTest { 5 public static void main(String[] args) { 6 ArrayList<Integer> biglist=new ArrayList<>(); 7 ArrayList<Integer> smalist=new ArrayList<>(); 8 mythod(biglist,smalist); 9 } 10 public static void mythod(ArrayList<Integer> a,ArrayList<Integer> b){ 11 Random r=new Random(); 12 for (int i = 0; i < 20; i++) { 13 int digit=r.nextInt(50); 14 a.add(digit); 15 if(a.get(i)%2==0){ 16 b.add(digit); 17 } 18 } 19 System.out.println(a); 20 System.out.println(b); 21 } 22 }