您的位置:首页 > 编程语言 > Java开发

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

2016-04-17 11:49 561 查看
本章学习的目标—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–进程或者线程的异步概念—-就是指我叫一下你去打篮球,不管你回应不回应,我就直接打我的篮球去了,至于你什么

什么时候响应我的请求,我也不知道
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: