• 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(); } }

集合(1)—List接口的实现类ArrayList的更多相关文章

  1. 集合:List接口的实现类(ArrayList、LinkedList、Vector)

    1.List接口 (1)特点 有序(插入和取出的顺序相等,因为有一个整数索引记录了元素的插入的位置) 允许有重复的元素(调用equals方法返回true,允许有多个null) @Test public ...

  2. java中List接口的实现类 ArrayList,LinkedList,Vector 的区别 list实现类源码分析

    java面试中经常被问到list常用的类以及内部实现机制,平时开发也经常用到list集合类,因此做一个源码级别的分析和比较之间的差异. 首先看一下List接口的的继承关系: list接口继承Colle ...

  3. Java基础(十九)集合(1)集合中主要接口和实现类

    1.Java集合框架为不同类型的集合定义了大量接口 其中,集合有两个基本接口:Collection和Map. 2.各接口的主要特征如下 (1)Collection接口:是List接口.Set接口和Qu ...

  4. java的List接口的实现类 ArrayList,LinkedList,Vector 的区别

    Java的List接口有3个实现类,分别是ArrayList.LinkedList.Vector,他们用于存放多个元素,维护元素的次序,而且允许元素重复. 3个具体实现类的区别如下: 1. Array ...

  5. 集合之四:List接口

    查阅API,看List的介绍.有序的 collection(也称为序列).此接口的用户可以对列表中每个元素的插入位置进行精确地控制.用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的 ...

  6. java 集合之实现类ArrayList 和 LinkedList

    List 的方法列表 方法名 功能说明 ArrayList() 构造方法,用于创建一个空的数组列表 add(E e) 将指定的元素添加到此列表的尾部 get(int index) 返回此列表中指定位置 ...

  7. java内部类、接口、集合框架、泛型、工具类、实现类

    .t1 { background-color: #ff8080; width: 1100px; height: 40px } 一.内部类 1.成员内部类. (1)成员内部类的实例化: 外部类名.内部类 ...

  8. day07(Set接口,HashSet类,hashcoad(),Collections工具类,Map集合)

    Set接口 set接口的实现类特点 1.无序(取出来的顺序和存进去的数据的顺序不一致) 2.唯一(数据不能存相同的) 底层是用Map集合写的 HashSet类  实现了  set接口       唯一 ...

  9. Java精选笔记_集合概述(Collection接口、Collections工具类、Arrays工具类)

    集合概述 集合有时又称为容器,简单地说,它是一个对象,能将具有相同性质的多个元素汇聚成一个整体.集合被用于存储.获取.操纵和传输聚合的数据. 使用集合的技巧 看到Array就是数组结构,有角标,查询速 ...

随机推荐

  1. 修改tomcat的server.xml配置web项目

    <!-- VideoWeb:自己编写的web项目名 path:表示当输入访问项目.. 如果path="" URL=localhost:8080就可以访问项目了 如果path= ...

  2. IDEA运行TestNG报错rg.testng.TestNGException: org.xml.sax.SAXParseException;

    从eclipse复制的依赖注解,一运行测试脚本发现报错如下: "F:\Program Files\Java\jdk1.7.0_17\bin\java" -ea -Didea.lau ...

  3. javascript 判断属性是否存在

    判断一个实例是否存在某个属性的方法使用 "in" var Student = { name: "Robot", height: 1.2, sex: " ...

  4. Android Studio 超级简单的打包生成apk

    为什么要打包: apk文件就是一个包,打包就是要生成apk文件,有了apk别人才能安装使用.打包分debug版和release包,通常所说的打包指生成release版的apk,release版的apk ...

  5. xcode 8 清除无用的打印

    OS_ACTIVITY_MODE     disable 虽然模拟器这样写能屏蔽掉无用的打印,但是在真机测试的时候什么都不会打印  Nslog 也打印不出来  , 这时候就要点掉 OS_ACTIVIT ...

  6. poj2763树链剖分边权+区间和

    自己写的比原来的板子常数小了不少嘻嘻,边权处理起来比点权要复杂一下 由于根节点没有被映射的边,其被访问到的顺序是0,直接排除在线段树外 #include<iostream> #includ ...

  7. pytest十一:函数传参和 firture 传参数 request

    为了提高代码的复用性,我们在写用例的时候,会用到函数,然后不同的用例去调用这个函数.比如登录操作,大部分的用例都会先登录,那就需要把登录单独抽出来写个函数,其它用例全部的调用这个登录函数就行.但是登录 ...

  8. 步步为营-47-分页显示的SQL语句

    说明:分页显示在实际业务中经常需要用到,其SQL语句分两种 1:分页显示SQL语句 --方法一:跳过多少行,选中多少行 --每页n条,选择第m页--n= m= --)*n 主键 from 表); se ...

  9. 【C++ Primer 第15章】定义派生类拷贝构造函数、赋值运算符

    学习资料 • 派生类的赋值运算符/赋值构造函数也必须处理它的基类成员的赋值 • C++ 基类构造函数带参数的继承方式及派生类的初始化 定义拷贝构造函数 [注意]对派生类进行拷贝构造时,如果想让基类的成 ...

  10. 【BZOJ4927】第一题 双指针+DP

    题解: 虽然是过了,不过做的十分智障 首先是有 2根 2 1 1 , 3根 1 1 1 这两种方法 然后考虑2 2 1 1 two-point-two没啥好说的 3 1 1 1 我很智障的以为数据范围 ...