• 集合(1)—List接口的实现类ArrayList


    • List
      List接口是Collection接口的子接口,从其名称可以看出,是一个元素有序(并不是按大小排序,具有顺序索引,类似于数组),默认按照元素的添加顺序设置元素的索引。
    • List用法
      List包括List接口以及List接口的所有实现类。因为List接口实现了Collection接口,所以List接口拥有Collection接口提供的所有常用方法,又因为List是列表类型,所以List接口还提供了一些适合于自身的常用方法。List接口定义的常用方法及功能:
      这里写图片描述

      • 方法一
    • 声明一个List类型变量
    public List courseToSelect; 
    • 无参构造器,初始化变量
    public List courseToSelect;     //List变量备选课程
    
        public ListTest(){
            this.courseToSelect=new ArrayList();
        }
    相当于
    List list=new ArrayList();
    • 创建一个实例
    Course co=new Course("1","数据结构");
    • 调用List的add方法把对象(实例)添加到List变量中
    courseToSelect.add(co);//不指定插入位置
    courseToSelect.add(0,co2);//指定插入位置
    • 获得List类型数据courseToSelect变量中的数据,并输出课程信息(从LIst中的取得元素其类型为Course)
    Course temp=(Course)courseToSelect.get(0);
    System.out.println("添加了:"+temp.id+" "+temp.name);

    或者

    //创建一个课程数组,并在课程数组中添加两个元素(课程对象)
    Course[] course={new Course("3","英语"),new Course("4","线性代数")};
    //添加方法3addAll(传进去一个Collection实例),通过工具类Arrays中的一个asList方法将数组转换为List
    courseToSelect.addAll(Arrays.asList(course));
    //获得List类型数据courseToSelect变量中的数据并输出课程信息
    Course temp4=(Course)courseToSelect.get(2);

    全部代码:

    package 集合框架;
    
    public class Course {
    
        public String id;
        public String name;
        public Course(String id,String name){       //含参构造器
            this.id=id;
            this.name=name;
        }
    
    }
    
    package 集合框架;
    
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.List;
    
    public class ListTest {
    
        //用于存放备选课程信息List
        public List courseToSelect;     //List变量备选课程
    
        public ListTest(){
            this.courseToSelect=new ArrayList();
        }
    
        public void testAdd(){          //用于往coursetoSelect中添加信息
            //创建一个课程对象,并通过add方法,把对象添加到备选课程List中
            Course co=new Course("1","数据结构");
            //添加方法1
            courseToSelect.add(co);
            //获得List类型数据courseToSelect变量中的数据,并输出课程信息(从LIst中的取得元素其类型为Course)(因为List中取出的对象都是Object类型的)
            Course temp=(Course)courseToSelect.get(0);
            System.out.println("添加了:"+temp.id+" "+temp.name);
            //创建一个课程对象,并通过add方法,把对象添加到备选课程List中
            Course co2= new Course("2","C语言");
            //添加方法2
            courseToSelect.add(0,co2);
            //获得List类型数据courseToSelect变量中的数据并输出课程信息
            Course temp2=(Course)courseToSelect.get(0);
            System.out.println("添加了:"+temp2.id+" "+temp2.name);
            //再次获得List类型数据courseToSelect变量中的数据,以检验是否插入到指定位置
            Course temp3=(Course)courseToSelect.get(0);
            System.out.println("添加了:"+temp3.id+" "+temp3.name);
    
    
            //创建一个课程数组,并在课程数组中添加两个元素(课程对象)
            Course[] course={new Course("3","英语"),new Course("4","线性代数")};
            //添加方法3addAll(传进去一个Collection实例),通过工具类Arrays中的一个asList方法将数组转换为List
            courseToSelect.addAll(Arrays.asList(course));
            //获得List类型数据courseToSelect变量中的数据并输出课程信息
            Course temp4=(Course)courseToSelect.get(2);
            Course temp5=(Course)courseToSelect.get(3);
            System.out.println("使用数组添加了两个元素:"+temp4.id+":"+temp4.name+
                    "和"+temp5.id+":"+temp5.name);
            //创建一个课程数组,并在课程数组中添加两个元素(课程对象)
            Course[] course2={new Course("5","计算机网络"),new Course("6","计算机组成原理")};
            //添加方法3addAll(传进去一个Collection实例),通过工具类Arrays中的一个asList方法将数组转换为List
            courseToSelect.addAll(2,Arrays.asList(course2));
            Course temp6=(Course)courseToSelect.get(2);
            Course temp7=(Course)courseToSelect.get(3);
            System.out.println("使用数组添加了两个元素:"+temp6.id+":"+temp6.name+
                    "和"+temp7.id+":"+temp7.name);
        }
    
        public static void main(String[] args){
            ListTest lt = new ListTest();
            lt.testAdd();
    
        }
    
    }
    
  • 相关阅读:
    Deep Learning--分布式训练RBM算法框架
    Deep Learning基础理论--Classification RBM
    docker run hangs问题排查记录
    启用k8s metrics server监控
    Infiniband 网络性能测试
    foreman容器化部署
    通过keepalived实现多主集群方案
    工程优化暨babel升级小记
    一次由webview报错引起的追根溯源
    前端基础3:js篇(基础及算法)
  • 原文地址:https://www.cnblogs.com/tengpengfei/p/10454048.html
Copyright © 2020-2023  润新知