• 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. 配置mysql5.5主从复制、半同步复制、主主复制

    mysql主服务器 192.168.8.40 mysql从服务器 192.168.8.41 全新配置过程(主和从数据库都没有数据): 主从复制主服务器设置: 1.改server-id      2.启 ...

  2. echarts地图使用

    在使用echarts3当中,地图需要的数据时分开的,需要自己下载,而在echarts3官网上的地图数据只有全国.中国.各省的地图 如果我们需要使用更详细的地图,需要在echarts2的生成需要的地级市 ...

  3. 560. Subarray Sum Equals K

    Given an array of integers and an integer k, you need to find the total number of continuous subarra ...

  4. 输入一个数,求1到他 的和(for循环)

  5. 温故而知新--JavaScript书摘(一)

    前言: 毕业到入职腾讯已经差不多一年的时光了,接触了很多项目,也积累了很多实践经验,在处理问题的方式方法上有很大的提升.随着时间的增加,愈加发现基础知识的重要性,很多开发过程中遇到的问题都是由最基础的 ...

  6. js获取iframe中的元素

    var obj=document.getElementById("iframe的name").contentWindow; var ifmObj=obj.document.getE ...

  7. LeetCode(44): 通配符匹配

    Hard! 题目描述: 给定一个字符串 (s) 和一个字符模式 (p) ,实现一个支持 '?' 和 '*' 的通配符匹配. '?' 可以匹配任何单个字符. '*' 可以匹配任意字符串(包括空字符串). ...

  8. RabbitMQ(一):RabbitMQ 安装与配置(Mac)

    一.rabbitmq 安装与配置 安装: brew install rabbitmq # 进入安装目录 cd /usr/local/Cellar/rabbitmq/3.7.12 # 启动 brew s ...

  9. jsTree动态加载数据

    Views代码 @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="view ...

  10. 使用共同函数,将PNotify弹出提示框公用

    PNotify(http://sciactive.github.io/pnotify/)是个不错的jquery库(好像最新版的pnotify已不需要jquery了). 使用它来实现网站常用的提示框,很 ...