文档章节

java12

芥末小弟
 芥末小弟
发布于 2017/03/01 09:54
字数 968
阅读 4
收藏 0
1:List的子类(掌握)
	(1)List的子类特点
		ArrayList:
			底层数据结构是数组,查询快,增删慢
			线程不安全,效率高
		Vector:
			底层数据结构是数组,查询快,增删慢
			线程安全,效率低
		LinkedList:
			底层数据结构是链表,查询慢,增删快
			线程不安全,效率高
	(2)ArrayList
		A:没有特有功能需要学习
		B:案例
			a:ArrayList存储字符串并遍历
			b:ArrayList存储自定义对象并遍历
	(3)Vector
		A:有特有功能
			a:添加
				public void addElement(E obj)		--	add()
			b:获取
				public E elementAt(int index)		--	get()
				public Enumeration<E> elements()	--  iterator()
		B:案例
			a:Vector存储字符串并遍历
			b:Vector存储自定义对象并遍历
	(4)LinkedList
		A:有特有功能	
			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遍历。

  

© 著作权归作者所有

共有 人打赏支持
芥末小弟
粉丝 0
博文 202
码字总数 120715
作品 0
昌平
github上万颗star的21个JAVA(19个Android相关)开发框架,知道多少,用过多少(截止2016年12月17日)

相关阅读: 吊炸天!74款APP完整源码! github上万颗star的21个JAVA(19个Android相关)开发框架,知道多少,用过多少(截止2016年12月17日) 移动端App开发的三种开发技术对比 elastic/elas...

xhmj12
2016/12/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多
linux使用ntfs-3g操作ntfs格式硬盘

Linux内核目前只支持对微软NTFS文件系统的读取。 NTFS-3G 是微软 NTFS 文件系统的一个开源实现,同时支持读和写。NTFS-3G 开发者使用 FUSE 文件系统来辅助开发,同时对可移植性有益。 安装 ...

linuxprobe16
40分钟前
1
0
kubeadm部署kubernetes集群

一、环境要求 这里使用RHEL7.5 master、etcd:192.168.10.101,主机名:master node1:192.168.10.103,主机名:node1 node2:192.168.10.104,主机名:node2 所有机子能基于主机名通信,编辑...

人在艹木中
今天
7
0
Shell特殊符号总结以及cut,sort,wc,uniq,tee,tr,split命令

特殊符号总结一 * 任意个任意字符 ? 任意一个字符 # 注释字符 \ 脱义字符 | 管道符 # #号后的备注被忽略[root@centos01 ~]# ls a.txt # 备注 a.txt[root@centos01 ~]# a=1[root@centos01...

野雪球
今天
2
0
OSChina 周二乱弹 —— 程序员圣衣

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @达尔文:分享Skeeter Davis的单曲《The End of the World》 《The End of the World》- Skeeter Davis 手机党少年们想听歌,请使劲儿戳(这里...

小小编辑
今天
16
0
[ python import module ] 导入模块

import moudle_name ----> import module_name.py ---> import module_name.py文件路径 -----> sys.path (这里进行查找文件) # from app.web import Personimport app.web.Person as Pe......

_______-
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部