一、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 排版标签
<! --注释-- >
<b r> 换行
<p>段落
<h r>换行线
<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表单标签:用于收集不同类型的用户输入
- form标签,用于包裹用户输入的内容
- 常用属性:
- action:用于处理数据的地址
method:请求方式get或post
enctype:application/x-www-form-urlencoded 普通表单multipart/form-data 多部分表单(一般用于文件上传)
input标签一般提交用户可以用键盘输入的内容、文件上传、单选、多选,如果想要从后台获取数据的话一定要有name属性
select 是下拉框,每一个值都是一个option,select中要有name属性,option中要有value。
textarea 文本域
- action:用于处理数据的地址
4、其他标签和特殊字符
- <meta charset="utf-8">设置字符编码
<! -- href:引入css文件的地址-->
<link rel="stylesheet" type="text/css" href="./styles.css">
<! --src:js的文件地址-->
<script type="text/javascript" src=""></script> - 特殊字符:
& nbsp;空格
& ensp;半个字符的空格
三、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:方框阴影
网友评论