第六篇学习总结
一、Map集合
Map集合和Collection集合不一样,Map集合是双列集合,以键值对的形式存在,键不能重复,值可以重复,Set集合就是使用了Map集合的键。
1、常用方法
- put(key,value):添加或者修改,如果键是第一次存储,直接添加,否则就替换掉以前的值。
- remove(key):根据键删除键值对元素
- containskey(key):判断是否包含指定的键
- containskey(value):判断是否包含指定的值
- entrySet():获取所有的键值对,返回的的是一个元素类型为Map.Entry的Set集合
- get(key):根据键获取值
- keySet():获取集合中所有键的集合,返回的同样是一个Set集合
- Collection values():获取集合中所有值的集合
- size():返回集合中键值对的个数
2、Map集合的遍历
一共有三种方法:遍历所有的键值对,再通过键获取值;遍历所有键的集合;遍历所有值的集合,使用超级for循环遍历非常方便。
3、HashMap
HashMap底层使用的是数组,查找非常快,但是元素无序,当存储到一定程度自动扩充,因为要涉及比较,所以必须重写hashCode和equals方法,不过不用比较大小。存储时,通过key算出一个下标,看看这个下标所在的位置上有没有元素,如果有就对比,如果对比成功,覆盖,如果没有,挂载,如果当前位置上没有元素,直接存储。
4、HashMap和HashTable的区别
HashTable出现的比较早,线程安全,但是效率较低,HashMap出现的比较晚,线程不安全,效率高;HashTable不能存储null键和null值,HashMap可以存储null键和null值。
5、TreeMap
TreeMap是key有序的Map集合,key需要实现Comparable接口并重写compareTo方法,或者使用Comparator比较器,它是拿着新添加的元素和已经存在的元素进行比较,如果新添加的元素小于已有元素,就返回负数,如果相等,就返回0,直接覆盖,如果大于已有元素,就返回正数。
二、泛型
泛型就是参数化类型,泛型规定了类可以使用的应用数据的类型的范围,此时类型不再是固定的某个类型,而是一个参数,这个参数再编译的时候就会固定下来。
1、泛型的好处
- 提高安全性
- 省区强转的麻烦
- 在其作用域内可以统一参数类型
2、泛型的使用
- <>中放的必须是引用数据类型
- 泛型可以定义在类、接口和方法上
//把泛型定义在类上
public class Generic<T>{
public void setObject(T t){
this.t = t;
}
//把泛型定义在方法上
public <E> E method(E e){
return e;
}
}
3、通配符
- 泛型通配符<?> 任意类型
- ?extends E 向下限定E及E的子类
- ?super E 向上限定E及父类
二、HTML
HTML是一门用来创建网页的标记语言,HTML自诞生以来经历了五个版本,最新的版本是HTML5。
1、HTML基本结构
- HTML页面包含头部head和主体body,最外层套一个HTML标签
- HTML标签通常是成对出现的,但也有不成对出现的标签,比如input与br。
- HTML标签通常都有属性。格式:属性名=属性值,多个属性之间用空格隔开。
- HTML标签不区分大小写
- 文件名后缀为.html或.htm
2、HTML基本标签
2.1 结构标签
<html></html>:根标签
<head></head>:头标签
<title></title>:页面的标题
<body></body>:主体标签:网页内容
2.2 排版标签
<!--注释-->
<br>换行
<p>段落
<hr>换行
<h1></h1>--<h6></h6>标题标签,默认加粗
2.3 容器标签
<div></div>:块级标签,独占一行
<span></span>行级标签
2.4 列表标签
<ul></ul>无序列表
<ol></ol>有序列表
<li></li>列表项
2.5 图片标签
<img src="" alt="">
2.6 链接标签
<a href="">文本或图片</a>
2.7 表格标签
<table>表格
<th>表头<td>表的单元格</td><th>
<tr><td></td></tr>一行
</table>
3、HTML表单标签
HTML表单标签用于收集不同类型的用户输入
- form标签,用于包裹用户输入的内容,常用属性:action:用于处理数据的地址 method:请求方式get或post enctype:application/x-www-form-urlencoded 普通表单multipart/form-data 多部分表单(一般用于文件上传)
- input标签一般提交用户可以用键盘输入的内容、文件上传、单选、多选,如果想要从后台获取数据的话一定要有name属性
- select 是下拉框,每一个值都是一个option,select中要有name属性,option中要有value。
- textarea 文本域
4、frame
这个标签现在很少使用
5、其他标签和特殊字符
<meta charset="utf-8">设置字符编码
<!-- href:引入css文件的地址-->
<link rel="stylesheet" type="text/css" href="./styles.css">
<!--src:js的文件地址-->
<script type="text/javascript" src=""></script>
特殊字符:
空格
 半个字符的空格
三、CSS
CSS是层叠样式表,HTML是骨架,CSS就起着装饰美化的作用。
1、语法规则
- 选择器
- 用花括号包裹起来的一条或多条声明:每条声明由一个属性和一个值组成
2、使用方式
- 内联方式:直接把CSS样式嵌入到HTML标签中。可以单独设置某个元素的样式,但是不利于样式重用。
- 内部样式:可以控制页面中多个元素的样式,但是只能一个页面使用。在head标签中使用style标签引入。
- 外部样式。定义在一个单独的css文件中,在head标签中导入。在多个文件中可重复使用。
- 优先级:内联样式>内部样式>外部样式。就近原则。
3、CSS选择器
3.1 基本选择器
- 标签选择器:html标签{属性:属性值}
- id选择器:#id值{...}
- 类选择器:.class{...}
- 以上选择器的优先级从高到低:id>class>标签选择器
3.2 属性选择器
根据元素的属性及属性值来选择元素,格式为html标签[属性='属性值']{css属性:css属性值;}或者html标签[属性]{css属性:css属性值;}。
3.3 伪元素选择器
主要是针对a标签
- 静止状态 a:link{css属性}
- 悬浮状态 a:hover{css属性}
- 触发状态 a:active{css属性}
- 完成状态 a:visited{css属性}
3.4 层级选择器
- 后代选择器:div p{} 表示div中的p标签,所有的后代p
- 子代选择器:div>span{} 表示div中的子代span标签
3.5 其他选择器
- 全局选择器:*{},表示所有标签
- 群组选择器:div,span{},表示同时选择div和span
4、CSS属性
4.1 文字和文本属性
- font-size:设置字体大小
- font-family:设置文字的字体
- font-style:规定斜体字
- font-weight:设置文字的粗细,400是正常字体
- color:文本颜色
- text-indent:缩进元素中文本的首行
- text-decoration:none 会关闭应用到元素上的所有装饰
- text-align:center 居中对齐
- word-spacing:字符之间的间隔
- letter-spacing:单词或字母之间的间隔
- line-height:设置行高
4.2 背景属性
- background-color:设置背景颜色
- background-img:url("图片路径"):设置背景图片
- background-repeat:在哪个方向平铺,用x,y代替
- background-position:改变图像在背景中的位置
4.3 列表属性
- list-style-type:改变列表的标志类型
- list-style-image:url(""):用图像表示标志
- list-style-position:inside;标志出现在列表项内容之外还是内容内部
- list-style:none;取消所有的列表样式
4.4 尺寸显示轮廓属性
- width:设置元素的宽度
- height:设置元素的高度
- display:none;不显示,block,inline,inline-block
- float:浮动属性;left、right、both、none
4.5 定位属性
position:static|relative|absolute|fixed
- 默认的是静态定位
- 相对定位:relative
- 绝对定位:absolute
- 固定定位:fixed
5、盒子模型
一个元素的整体由height,width,padding,magin,border组成。
- border:边框宽度 边框样式 边框颜色
- padding:top right bottom left
- margin:top right bottom left
6、CSS3扩展属性
- border-radius:圆角属性,如果想将正方形的设置为圆,数值应为边长的一半
- box-shadow:方框阴影
网友评论