第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)
知识点3:List接口中的ArrayList和Vector子类的区别:
1—ArrayList子类—–推出时间是在:JDK1.2之后推出的—-ArrayList采用异步处理方式,性能高——–属于非线程安全
2—Vector子类——-推出时间是在:JDK1.0推出的—采用同步处理方法,性能低—属于线程安全
知识点4:线程的同步与异步的简介:
1–进程或者线程—同步的概念–就是指多个进程或者线程相互配合,相互协作共同完成一件事—比如说:我叫你去打篮球
,你如果听到了,就立刻和我一起去打篮球,如果,你没有听过,我就一直叫你,知道你听到了,来了之后,我们一起
去打篮球,这个过程就是一个—-典型的同步过程
2–进程或者线程的异步概念—-就是指我叫一下你去打篮球,不管你回应不回应,我就直接打我的篮球去了,至于你什么
什么时候响应我的请求,我也不知道
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–进程或者线程的异步概念—-就是指我叫一下你去打篮球,不管你回应不回应,我就直接打我的篮球去了,至于你什么
什么时候响应我的请求,我也不知道
相关文章推荐
- java验证用户是否已经登录 java实现自动登录
- 深入浅出Java并发包—读写锁ReentrantReadWriteLock原理分析(一)
- 20145311 《Java程序设计》第七周学习总结
- Java中解析XML文件之SAX方式
- 深入浅出Java并发包—锁机制(二)
- 《开发软件》Myeclipse.10.0+EditPlus+SQLserver2012
- 一个简单的线程池(仿java的ScheduledFuture)
- spring 和mybatis整合时 使用context:property-placeholder载不进属性 还报org.springframework.beans.factory.BeanCrea
- Eclipse GEF4 Common
- 朴素贝叶斯的JAVA实现
- java集合-HashSet
- Java基本语法和命名规范
- windows下安装SVN服务器端和客户端和MyEclipse支持
- Struts2 知识体系
- Java的接口和抽象类
- JavaWeb总结(十)—文件上传和下载
- Java技术_Java千百问(0032)_java接口到底是什么
- java base64编码和解码
- Java字符串不同创建方式的理解
- 泛型快速排序(java 语言实现)