本章学习的目标—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–进程或者线程的异步概念—-就是指我叫一下你去打篮球,不管你回应不回应,我就直接打我的篮球去了,至于你什么
什么时候响应我的请求,我也不知道