集合(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();

    }

}
posted @ 2017-03-19 11:43  滕鹏飞  阅读(194)  评论(0编辑  收藏  举报