- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
javaL的ist子类基础入门
1:List的子类(掌握)(1)List的子类特点ArrayList:底层数据结构是数组,查询快,增删慢线程不安全,效率高Vector:底层数据结构是数组,查询快,增删慢线程安全,效率低LinkedList:底层数据结构是链表,查询慢,增删快线程不安全,效率高(2)ArrayListA:没有特有功能需要学习B:案例a:ArrayList存储字符串并遍历b:ArrayList存储自定义对象并遍历(3)VectorA:有特有功能a:添加public void addElement(E obj)--add()b:获取public E elementAt(int index)--get()public EnumerationE elements()-- iterator()B:案例a:Vector存储字符串并遍历b:Vector存储自定义对象并遍历(4)LinkedListA:有特有功能a:添加addFirst()addLast()b:删除removeFirst()removeLast()c:获取getFirst()getLast()B:案例a:LinkedList存储字符串并遍历b:LinkedList存储自定义对象并遍历(5)案例:A:去除集合中的多个字符串的重复元素如果字符串的内容相同,即为重复元素B:去除集合中的多个自定义对象的重复元素如果自定义对象的成员变量值都相同,即为重复元素C:用LinkedList模拟一个栈数据结构的集合类,并测试。你要定义一个集合类,只不过内部可以使用LinkedList来实现。2:泛型(掌握)(1)泛型概述是一种把明确类型的工作推迟到创建对象或者调用方法的时候才去明确的特殊的类型。(2)格式:数据类型注意:该数据类型只能是引用类型。(3)好处:A:把运行时期的问题提前到了编译期间B:避免了强制类型转换C:优化了程序设计,解决了黄色警告线问题,让程序更安全(4)泛型的前世今生A:泛型的由来Object类型作为任意类型的时候,在向下转型的时候,会隐含一个转型问题B:泛型类C:泛型方法D:泛型接口E:泛型高级通配符?? extends E? super E(5)我们在哪里使用呢?一般是在集合中使用。3:增强for循环(掌握)(1)是for循环的一种(2)格式:for(元素的数据类型变量名 : 数组或者Collection集合的对象) {使用该变量即可,该变量其实就是数组或者集合中的元素。}(3)好处:简化了数组和集合的遍历(4)弊端增强for循环的目标不能为null。建议在使用前,先判断是否为null。4:静态导入(了解)(1)可以导入到方法级别的导入(2)格式:import static 包名....类名.方法名;(3)注意事项:A:方法必须是静态的B:如果多个类下有同名的方法,就不好区分了,还得加上前缀。所以一般我们并不使用静态导入,但是一定要能够看懂。5:可变参数(掌握)(1)如果我们在写方法的时候,参数个数不明确,就应该定义可变参数。(2)格式:修饰符返回值类型方法名(数据类型... 变量) {}注意:A:该变量其实是一个数组名B:如果一个方法有多个参数,并且有可变参数,可变参数必须在最后(3)Arrays工具类的一个方法asList()把数组转成集合。注意:这个集合的长度不能改变。6:练习(掌握)A:集合的嵌套遍历B:产生10个1-20之间的随机数,要求随机数不能重复C:键盘录入多个数据,以0结束,并在控制台输出最大值7:要掌握的代码集合存储元素,加入泛型,并可以使用增强for遍历。8 集合嵌套存储和遍历元素9 去除集合中重复值10 ArrayList字符串的遍历package cn.itcast_01;import java.util.ArrayList;import java.util.Iterator;/* * ArrayList存储字符串并遍历 * * 我们按照正常的写法来写这个程序,结果确出错了。 * 为什么呢? * 因为我们开始存储的时候,存储了String和Integer两种类型的数据。 * 而在遍历的时候,我们把它们都当作String类型处理的,做了转换,所以就报错了。 * 但是呢,它在编译期间却没有告诉我们。 * 所以,我就觉得这个设计的不好。 * 回想一下,我们的数组 * String[] strArray = new String[3]; * strArray[0] = hello; * strArray[1] = world; * strArray[2] = 10; * 集合也模仿着数组的这种做法,在创建对象的时候明确元素的数据类型。这样就不会在有问题了。 * 而这种技术被称为:泛型。 * * 泛型:是一种把类型明确的工作推迟到创建对象或者调用方法的时候才去明确的
文档评论(0)