• 9.1 ArrayList(集合)的使用,与array(数组)的对比


    1.array 和ArrayList的区别?

      array 数组的长度是固定的,适应不了变化的需求。

      ArrayList集合的长度可变、大小可变。

    2.为什么要用集合,它优点是什么?

      java是面向对象编程语言,面向对象对事物的描述都是通过对象来体现的。

      为了方便对对象操作,必须对这多个对象进行存储。这是就不能是一个基本的变量,应该是一个容器类型的变量。

      1)目前学到容器类型变量:StringBuilder、数组

      StringBuilder的结果只能是一个字符串类型,不一定满足我们的需求。

      2) 所以,我们目前只能选择数组了,也就是我们前面学习过的对象数组。但是,数组的长度是固定的,适应不了变化的需求,那么,我们该如何选择呢?

      这个时候,java就提供了集合类供我们使用。

    3.集合的使用

    * 集合类的特点:
    * 长度可变。
    *
    * ArrayList<E>:
    * 大小可变数组的实现
    *
    * <E>:是一种特殊的数据类型,泛型。
    * 怎么用呢?
    * 在出现E的地方我们使用引用数据类型替换即可
    * 举例:ArrayList<String>,ArrayList<Student>
    *
    * 构造方法:
    * ArrayList()


     /* 添加元素:
     *         public boolean add(E e):添加元素
     */         public void add(int index,E element):在指定的索引处添加一个元素
    
    public class ArrayListDemo {
        public static void main(String[] args) {
            //创建对象
            ArrayList<String> array = new ArrayList<String>();
    
            //添加元素
            array.add("hello");
            array.add("java");
            array.add("worll");
    
            //在指定的索引处添加元素
            array.add(1,"world");
    
            System.out.println(array);
        }
    }

    输出如下

    /*
     * 获取元素
     *         public E get(int index):返回指定索引处的元素
     * 集合长度
     *         public int size():返回集合中的元素的个数
     * 删除元素
     *         public boolean remove(Object o):删除指定的元素,返回删除是否成功
     *         public E remove(int index):删除指定索引处的元素,返回被删除的元素
     * 修改元素
     *         public E set(int index,E element):修改指定索引处的元素,返回被修改的元素
     */
    public class ArrayListDemo2 {
        public static void main(String[] args) {
            //创建对象
            ArrayList<String> array = new ArrayList<String>();
    
            array.add("hello");
            array.add("world");
            array.add("000");
    
            System.out.println("array.get(1) = " + array.get(1));
            System.out.println("array.size() = " + array.size());
            System.out.println("array.remove(0) = " + array.remove(0));
            System.out.println("array.set(0,"hai") = " + array.set(0,"hai"));
            System.out.println("array = " + array);
    
        }
    }

    输出如下

    案例:

    /*
     * 给定一个字符串数组:{“张三丰”,“宋远桥”,“张无忌”,“殷梨亭”,“张翠山”,“莫声谷”},将数组中的元素添加到集合中,并把所有姓张的人员打印到控制台上。
     *
     * 分析:
     *         A:定义字符串数组
     *         B:创建集合对象
     *         C:遍历字符串数组,获取到每一个字符串元素
     *         D:把获取到的字符串元素添加到集合
     *         E:遍历集合
     *             要判断每一个字符串元素是否以"张"开头,如果是,就输出在控制台
     */
    public class ArrayListTest1 {
        public static void main(String[] args) {
            String[] array = {"张三丰","宋远桥","张无忌","魔声谷"};
    
            ArrayList<String> arraylist = new ArrayList<String>();
            for(int i=0;i<array.length;i++) {
                arraylist.add(array[i]);
            }
    
            System.out.println(arraylist);
            for(int i=0;i<arraylist.size();i++) {
                if(arraylist.get(i).startsWith("")) {
                    System.out.println("arraylist zhang = " + arraylist.get(i));
                }
            }
        }
    }

    输出:



  • 相关阅读:
    shell test -n -z
    java -d64
    shell export
    topngroupcollector
    stat 查看文件修改时间
    随机30道小学计算题02(修改)
    设计四则运算2程序单元测试用例
    学习进度02
    随机30道小学计算题02
    随机30道小学计算题01
  • 原文地址:https://www.cnblogs.com/longesang/p/11021722.html
Copyright © 2020-2023  润新知