zoukankan      html  css  js  c++  java
  • 【Java基础】常用类(2):ArrayList集合

    相较于之前所学的数组,ArrayList的长度是可以变化。

    一、ArrayList基本使用:

    import java.util.ArrayList;
    /*
    ArrayList集合的长度是可以随意变化的,区别于数组
    ArrayList的<> 中只能是引用类型,不能是基本类型
    
    注意:
    对于ArrayList集合来说,直接打印得到的不是地址值,而是内容
    如果内容为空,则打印的结果是[]
     */
    public class Demo01ArrayList {
        public static void main(String[] args) {
            //创建ArrayList集合,内部数据类型是String字符串
            ArrayList<String> list  = new ArrayList<>();
            System.out.println(list);//[]
    
            //向集合中添加数据,add方法
            list.add("姜春蕾");
            list.add("姜春蕾");
            list.add("姜春蕾");
    //list.add(100);错误写法

    System.out.println(list);//[姜春蕾,姜春蕾,姜春蕾] } }

    ps:<>中指定数据类型,使用add添加元素时必须与该数据类型一致;

    二、常用方法、遍历集合

      添加元素:add(元素内容)  注意:对于集合来说add方法不一定成功,后期学习

      获取元素:get(index),index指索引值,从0开始

      删除元素:remove(index),index同上

      集合长度:集合名称.size()

    import java.util.ArrayList;
    /*
    ArrayList常用方法
    
    添加元素:public boolean add(E e)
    获取元素:public E get(int index)索引也是从0开始
    删除元素:public E remove(int index)索引也是从0开始
    获取长度:public int size()
    
     */
    public class Demo02ArrayListMethod {
        public static void main(String[] args) {
            ArrayList<String> list = new ArrayList<>();
    
            boolean add = list.add("小子,要加加油啊");
    
            System.out.println(add);//是布尔类型的
    
            list.add("高圆圆");
            list.add("赵又廷");
            list.add("李小璐");
            list.add("贾乃亮");
            System.out.println(list);
    
            //获取元素
            String get = list.get(2);
            System.out.println(get);
    
            //集合中删除元素
            String remove = list.remove(0);
            System.out.println("被移除的是:" + remove);
            System.out.println(list);
    
            //获取集合长度
            System.out.println("集合的长度是:" + list.size());
    
            //遍历集合
            for (int i = 0; i < list.size(); i++) {
                System.out.println(list.get(i));
            }
        }
    }

    三、如果希望向ArrayList集合存储基本类型数据,必须使用对应的“包装类”

    import java.util.ArrayList;
    
    public class Demo03ArrayListBasic {
        public static void main(String[] args) {
            //错误写法
            //ArrayList<int> list = new ArrayList<>();
    
            /*
            如果希望向集合中存储基本类型数据,必须使用基本类型对应的包装类
             byte       Byte
             short      Short
             int        Integer
             long       Long
             float      Float
             double     Double
             char       Character
             boolean    Boolean
             */
            ArrayList<Integer> list = new ArrayList<>();
            list.add(100);
            System.out.println(list);//[100]
            System.out.println(list.get(0));//100
    
            ArrayList<Character> list1 = new ArrayList<>();
            list1.add('A');
            System.out.println(list1);//[A]
            System.out.println(list1.get(0));//A
        }
    }

    四、ArrayList集合作为方法的参数

    import java.util.ArrayList;
    
    /*
    自定义一个方法,按指定格式打印集合,{元素@元素@元素...}
     */
    public class Demo06ArrayListPrint {
        public static void main(String[] args) {
            ArrayList<String> list = new ArrayList<>();
            list.add("张三丰");
            list.add("殷素素");
            list.add("张翠山");
            list.add("张无忌");
            System.out.println(list);//[张三丰, 殷素素, 张翠山, 张无忌]
            //调用方法
            printArrayList(list);//{张三丰@殷素素@张翠山@张无忌}
        }
        public static void printArrayList(ArrayList<String> list){
            System.out.print("{");
            for (int i = 0; i < list.size(); i++) {
                String name = list.get(i);
                if (i == list.size() - 1){
                    System.out.print(name +"}");
                }else{
                    System.out.print(name + "@");
                }
            }
        }
    }

    五、ArrayList集合作为方法的返回值

    import java.util.ArrayList;
    import java.util.Random;
    
    /*
    用一个大集合存放20个随机数字,筛选其中的偶数元素,放到小集合当中
    要求使用自定义的方法来实现筛选
     */
    public class Demo07ArrayListReturn {
        public static void main(String[] args) {
            //创建一个大集合,存放20个随机整数
            ArrayList<Integer> bigList = new ArrayList<>();
            Random r = new Random();
            for (int i = 0; i < 20; i++) {
                int num = r.nextInt(100);
                bigList.add(num);
            }
            //接收返回的小集合,赋值给result接收并遍历
            ArrayList<Integer> result = getSmallList(bigList);
            System.out.println(result);
            for (int i = 0; i < result.size(); i++) {
                System.out.println(result.get(i));
            }
        }
        //集合可以作为方法的参数、返回值类型
        //将大集合作为参数,并将其中符合条件的数据存放在小集合,并返回
        public static ArrayList<Integer> getSmallList(ArrayList<Integer> bigList){
            ArrayList<Integer> smallList = new ArrayList<>();
            for (int i = 0; i < bigList.size(); i++) {
                int num = bigList.get(i);
                //判断是否为偶数
                if(num > 0 && num % 2 == 0){
                    smallList.add(num);
                }
            }
            return smallList;
        }
    }
    万丈高楼平地起。
  • 相关阅读:
    CentOS7下Elastic Stack 5.0日志分析系统搭建
    ElasticSearch 简单入门
    简单使用packetbeat
    centos7没有安装ifconfig命令的解决方法
    CentOS系统下docker的安装与卸载
    centos7 cannot find a valid baseurl for repo base
    HP P2xxx/MSA SMI-S Provider
    Zookeeper 的学习与运用
    kafka入门:简介、使用场景、设计原理、主要配置及集群搭建(转)
    利用开源架构ELK构建分布式日志系统
  • 原文地址:https://www.cnblogs.com/jcl226/p/13062578.html
Copyright © 2011-2022 走看看