• 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. Windows2008 r2 x64下安装FTP工具File Zilla server报错:could not load tls libraries filezilla

    安装file zilla server的时候报错: could not load tls libraries filezilla 搜索了下发现是新版本有这个问题,降低到0.9.43就没这个问题了

  2. 如何从现有版本升级到element UI2.0?使用npm-check-updates

    转:https://blog.csdn.net/wojiaomaxiaoqi/article/details/78428738 登录element UI官网时提示2.0已经正式发布了,Element ...

  3. Oracle 相关概念

    注:本文来源于 <腾科OCP培训课堂>.非准许商业活动. 标题:Oracle  相关概念 --->数据库名.实例名.数据库域名.全局数据名.服务名 一:数据库名 1:什么是数据库名 ...

  4. 持续集成一:git上传代码

    先注册一个账号,注册地址:https://github.com/ 记住地址 下载git本地客户端,下载地址:https://git-scm.com/download/win 一路next傻瓜安装,加入 ...

  5. Tesseract环境搭建及编译安装

    Tesseract环境搭建及编译安装 Tesseract源码都是C++源码:对于不咋会C++的人来说,这真是...虽然说语言有相通性,但是...哎!!!!! 分享出来,也希望对大家有所帮助. 环境:w ...

  6. Python3-RabbitMQ 3.7.2学习——环境搭建(一)

    学习消息队列,就要把环境先装好,本人使用的是python3.5.2和RabbitMQ 3.7.2,在装RabbitMQ之前,先要装Erlang,一定要. 1.环境:win10系统    python3 ...

  7. IntelliJ IDEA 下的SVN使用

    最近公司的很多同事开始使用IntelliJ Idea,便尝试了一下,虽然快捷键与eclipse 有些不同,但是强大的搜索功能与“漂亮的界面”(个人认为没有eclipse好看 ),还是值得我们去使用的. ...

  8. Myeclipse调试模式下自动提示变量值设置

    1.Window->Preferences->Java->Editor->Hovers 将[Variable Values]选择即可,如果第一个[Combined Hover] ...

  9. Ext.js入门(二)

        ExtJs OOP基础 一:ExtJs中的面向对象 1.ExtJs中命名空间的定义        Ext中的命名空间类似于C#中的namespace和java中的包,用来对工程中的类进行更好的 ...

  10. [HNOI2016]序列(未通过)

    题解: 虽然知道有点问题但是并没有debug出来 发现错误了..相同元素的处理有错误 网上题解大都是分块..(hn怎么道道分块) 用最普通的思路,可以枚举每个点作为最小值,向左向右延伸 但是多组询问显 ...