java基础 ---- ArrayList类

ArrayList类的理解概述:

  • java.util.ArrayList类是大小可变的,可存储不同类型对象的集合。

ArrayList类的使用概述:

  • ArrayList类作为已封装定义好的类,最直接的用法就是构造方法创建对象,对象调用成员方法。

ArrayList类的构造方法:
-public ArrayList<T>() :构造一个内容为空的集合,T为集合的泛型。

ArrayList对象可调用的方法:
-public boolean add(E e) : 将指定的元素添加到此集合的尾部。
-public E remove(int index) :移除此集合中指定位置上的元素。返回被删除的元素。
-public E get(int index) :返回此集合中指定位置上的元素。返回获取的元素。
-public int size() :返回此集合中的元素数。遍历集合时,可以控制索引范围,防止越界。


ArrayList类的测试代码:

/**运行前提:
 *IDEA提示下导入相关jar包
 *导入符合参数运行要求的自定义Goods类
 */  


public class arrayListCode {
    public static void main(String[] args) {
        show1();
        show2();
}

   /**show1():
    * 1.创建集合
    * 2.对集合元素增,删,查
    */
   static void show1(){
        Goods hotDog = new Goods("Tom's", 1.5);
        Goods hamBurger = new Goods("KFC", 10.0);
        //1.
        ArrayList<Goods> list1 = new ArrayList<Goods>();  //无参数方法构造一个内容为空的集合
        //ArrayList<String> list = new ArrayList<String>();
        
        //2.
        list1.add(hotDog);  //将元素添加到集合的尾部
        list1.add(hamBurger);
        System.out.println("增:" + list1);//增:[MyTest.Goods@1b6d3586, MyTest.Goods@4554617c]
        //list.add(E e); 添加的元素e的类型E与ArrayList<E>对应
        //
        Goods a = list1.remove(0); //删除指定索引的元素,返回被删除的元素
        System.out.println("删:" + a + "其余元素索引上提");//删:MyTest.Goods@1b6d3586其余元素索引上提
        //
        Goods b = list1.get(0); //返回指定位置上的元素
        System.out.println("查:" + b);//查:MyTest.Goods@4554617c
        //
        //依照集合元素数,自定义格式遍历打印集合,规避了越界
        int list1Size = list1.size();//返回集合中的元素
        for (int i = 0; i < list1Size; i++) {
            System.out.println("***" + list1.get(i) + "***");
        }//***MyTest.Goods@4554617c***
    }

 
       /**show2():
        * 创建数组,集合对象
        * 测试数组定长,集合不定长的特性
        */
        static void show2(){
        //1.数组类定长,集合类不定长
        int[] arr = new int[20];
        ArrayList<Integer> list2 = new ArrayList<Integer>();
        //ArrayList对象只能存储引用类型数据,<int>错误
        ArrayList<Character> list2 = new ArrayList<int>();  什么意思???
        //ArrayList<Double> list2 = new ArrayList<double>();
        //除了Integer和Character,其他基本类型包装类都是基本类型首字母大写
        
        //2.添加随机数到数组,集合中
        Random random = new Random();
        int count = 0;
        for (int i = 0; i < 20; i++) {
            int r = random.nextInt(1000) + 1;
            arr[i] = r;
            if (r % 2 == 0) {
                count++;//对于偶数元素需要计数,为转移元素的新数定长
            }

        }
        for (int i = 0; i < 20; i++) {
            int r = random.nextInt(1000) + 1;
            list2.add(r);  //集合不需要计数。
        }
        //
        //3.创建定长新数组,新集合分别来保存上步数组,集合的偶数元素
        int[] smallArr = new int[count];
        for (int i = 0, j = 0; j < arr.length; j++) {
            if (arr[j] % 2 == 0) {
                smallArr[i] = arr[j];
                i++;
            }
       }
        ArrayList<Integer> smallList = new ArrayList<>();
        for (int i = 0; i < list2.size(); i++) {
            Integer num = list2.get(i);
            if (num % 2 == 0) {
                smallList.add(num);
            }
        }
        //
        //4.打印新数组,新集合
        System.out.println("保留偶数的小数组需要时刻注意索引不越界");
        for (int i = 0; i < smallArr.length; i++) {
            System.out.print(smallArr[i] + " ");//790 734 96 820 264 718 834 92 480 516 
        }
        System.out.println("保留偶数的小集合不需要时刻注意索引不越界");
        System.out.println(smallList);//[930, 272, 112, 116, 246, 852, 672, 750, 944, 550, 796, 166]
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值