第12章--java集合简介及List集合的使用

本章学习的目标—java集合中的—五大接口:
1–Collection接口
2–List接口
3–Set接口
4–Iterator接口
5–Map接口
需要在这说明的是:
1—List接口和Set接口—是—Collection接口的子接口;
2–Collection接口,Iterator接口和Map接口—是同一级别的接口
知识点1–Collection接口:
1–集合–可以理解为—一个动态的对象数组,不同的是–集合中的对象内容可以任意的扩充,也就是说–集合中的
对象内容 可以任意的增加和删除
2–集合的特点:
1–性能高
2–容易扩展和修改
3–Collection接口常用的子类:
1–List接口
2–Set接口
3–Queue接口
知识点2–List接口
1–List接口可以存放任意的数据,而且在List接口中,内容可以重复
2–List接口常用的子类–有两个:
1–ArrayList子类
2–Vector子类
3–List接口常用的操作:
1–判断当前集合是否为空—boolean isEmpty()
2–查找指定的对象是否存在—int indexOf(Object o)

/**********************************************************************************************
 *文件功能:
 *   1--List接口的使用---ArrayList<T>子类的使用
 *   2--并且,说明List集合接口中的数据元素是---可以---重复的
 *   3--remove(int index)---Removes the element at the specified position in the list(optional operation)
 *   3--remove(int index)---移除这个列表中,指定位置的元素
 *   4--get(int index)------Returns the element at the specified position in this list
 *   5--List集合接口--本质就是一个动态的对象数组,它可以灵活的对集合中的数据对象进行---添加,删除,查询,操作等
 *   6--isEmpty()---Returns true if this list contains no elements.
 *   6--isEmpty()---用来测试这个集合是否为空,如果为空,则返回true
 *   7--indexOf(Object o)--测试指定的元素是否存在于---列表中,如果存在,则返回,该元素第一次出现时的索引值
 *   7--indexOf(Object o)--Returns the index of the first occurrence of the specified element in this list,
 *       or -1 if this list does not contain the element.
 *环境:
 *   Eclipse+Jdk1.8
 *地点:
 *   陕西师范大学
 *时间:
 *   2016.4.17
 **********************************************************************************************/
package com.demo.list;

import java.util.*;

public class ListDemo01 {
    //【1】主方法
    public static void main(String[] args){
        //【1】首先,我们声明一个List接口,并且指定这个List接口的泛型类型为String
        List<String> lists=null;
        //【2】那么,我们应该如何去使用List接口呢?
        //【3】首先一点,我们知道List<T>它是一个接口i,而接口是不能直接--实例化对象,因此,这个时候,我们可以实例化List接口的子类,通过对象的多态性来实现
        //【4】对象的向上转型
        lists=new ArrayList<String>();
        //【5】我们可以通过在API中的一些List的成员方法--向List添加一些数据
        lists.add("List_1");
        lists.add("List_2");
        lists.add("List_1");
        //【6】那么,我们怎样将List接口中的数据打印出来呢?因为List是一个集合
        System.out.println("--------------------------没有删除之前的数据------------------------------");
        for (int i = 0; i < lists.size(); i++) {
            System.out.println(lists.get(i));
        }
        //【7】我们使用List接口中的remove()方法,移除掉List集合中的某一项数据
        System.out.println("------------使用remove(int index)移除列表中指定位置元素之后的数据---------------");
        lists.remove(0);
        for (int i = 0; i < lists.size(); i++) {
            System.out.println(lists.get(i));
        }
        //【8】测试List集合常用的操作----isEmpty()
        System.out.println("集合是否为空:"+lists.isEmpty());
        //【9】测试列表中指定的元素是否存在indexOf()
        System.out.println("List_2是否存在:"+lists.indexOf("List_2"));
    }
}

/**********************************************************************************************
 *文件功能:
 *   1--List接口的使用---Vector<t>接口子类的使用
 *环境:
 *   Eclipse+Jdk1.8
 *地点:
 *   陕西师范大学
 *时间:
 *   2016.4.17
 **********************************************************************************************/
package com.demo.list;

import java.util.List;
import java.util.Vector;

public class ListDemo02 {
    public static void main(String args[]){
        //【1】此块,我们还是先来创建List<T>接口,并且指定List接口的泛型类型--T--为---String类型
        List<String> lists=null;
        //【2】我们知道List是个接口,接口不能用来直接实例化对象,因此我们只能用List接口的子类Vector来实例化对象
        //【3】List接口以及Vector的层次关系是Collection<---List<----Vector
        lists=new Vector<String>();
        //【4】接下来,我们使用List接口中的成员方法add()向集合中添加一些数据
        lists.add("Vector_1");
        lists.add("Vector_2");
        lists.add("Vector_3");
        lists.add("Vector_4");
        lists.add("Vector_5");
        //【5】下面,我们通过for循环来打印集合中的数据
        for (int i = 0; i < lists.size(); i++) {
            System.out.println("Vector集合中的数据:"+lists.get(i));
        }




    }
}

知识点3:List接口中的ArrayList和Vector子类的区别:
1—ArrayList子类—–推出时间是在:JDK1.2之后推出的—-ArrayList采用异步处理方式,性能高——–属于非线程安全
2—Vector子类——-推出时间是在:JDK1.0推出的—采用同步处理方法,性能低—属于线程安全
知识点4:线程的同步与异步的简介:
1–进程或者线程—同步的概念–就是指多个进程或者线程相互配合,相互协作共同完成一件事—比如说:我叫你去打篮球
,你如果听到了,就立刻和我一起去打篮球,如果,你没有听过,我就一直叫你,知道你听到了,来了之后,我们一起
去打篮球,这个过程就是一个—-典型的同步过程
2–进程或者线程的异步概念—-就是指我叫一下你去打篮球,不管你回应不回应,我就直接打我的篮球去了,至于你什么
什么时候响应我的请求,我也不知道

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值