回顾: Map集合
Map集合
1.特点
无序
以键值对形式存储数据
键唯一,值不唯一
注:当键相同的时候,值被覆盖了2.遍历方式
获取所有的Keys
获取所有的Values
获取所有的键值对EntrySet3.常用实现类
HashMap和Hashtable的区别
HashMap
异步、线程非安全
Hashtable
同步及排队,线程安全
TreeMap
按照Key排序
默认按照Key的升序排序
使用Comparator.reverseOrder()方法实现降序排序
按照Value排序
获取所有的键值对
将键值对转换成List集合
使用Collections帮助类的sort方法实现排序
Collections和Arrays
面试题:Colleciton和Collections的区别
Collection是集合框架的顶级接口
Collections是集合框架的帮助类
1. XML(可扩展标记语言)
DTD(文档类型定义)
Schema (图解)
XML--DTD(Schema)
2. 什么是格式良好XML
1.1 有且只有一个根元素
1.2 XML标签大小写正确区分
1.3 正确使用结束标签
1.4 正确嵌套标签
1.5 使用了合法的标签名(A-Za-z0-9_-)
1.6 定义有效的属性
注1:什么是有效的XML
2. 在XML加入DTD声明
<!DOCTYPE 根元素[]>
3. 元素定义的语法
<!ELEMENT element-name (type)>
4. 元素的分类
<!ELEMENT element-name EMPTY>//空元素
<!ELEMENT element-name (#PCDATA)>//文本元素
<!ELEMENT element-name (e1,e2)>//混合元素
5. 元素的限制
, 顺序
| 或
次数: + 1~n
* 0~n
? 0~1
没有 1次
6. 属性定义的语法
<!ATTLIST element-name
att_name1 type
att_name2 type
>
ID
(男|女) "男" 枚举
CDATA
IDREF
#REQUIRED/#IMPLIED
7. XML中的特殊符号
&(逻辑与) &
<(小于) <
>(大于) >
"(双引号) "
'(单引号) '
&变量名;
8. 外部DTD
*.dtd
SYSTEM
PUBLIC
<?xml version="1.0" encoding="UTF-8"?>
<!--
1.DTD申明
1)内部申明:<! DOCTYPE 根节点[]>
2) 外部申明:<! DOCTYPE 根节点 SYSTEM "DTD外部文件路径">
2.元素定义
1)语法:<!ELEMENT 元素名称 元素类型>
2)类型:
2.1).空元素:EMPTY
2.2)文本元素:(#PCDATA)
2.3)混合元素:(e1,e2,e3...)
3.限制:
,(顺序)
|(或,多选一)
?(0或1次)
*(1*0=0,0次或多次)
+(1+0=1,1次或多次)
4. 属性定义语法(DTD对属性的限制)
基本语法:<!ATTLIST 元素名称 属性名称 属性类型 设置说明>
属性类型:ID:唯一,不能以/或者数字开头
/CDATA 文本
/ENUM
(男|女) (枚举 多选一)
设置说明:#REQUIRED(必须)/#IMPLIED(可选)
5. 5.4 特殊符号转义
&(逻辑与) &
>(大于) >
<(小于) <
‘(单引号) '
“(双引号) "
-->
<!DOCTYPE persons SYSTEM "demo.dtd">
<persons>
<person pid="p01" paddr="123" psex="男">
<name>张三</name>
<age>22</age>
<contact>
<phone>15882821111</phone>
</contact>
<br/>
</person>
<person pid="p02">
<name>李四</name>
<age>23</age>
<contact>
<mail>123@qq.com</mail>
</contact>
</person>
</persons>
demo.dtd
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT persons (person+)>
<!ELEMENT person (name,age,contact,br?)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ELEMENT contact (phone|mail)>
<!ELEMENT phone (#PCDATA)>
<!ELEMENT mail (#PCDATA)>
<!ELEMENT br EMPTY>
<!ATTLIST person
pid ID #REQUIRED
paddr CDATA #IMPLIED
psex (男|女) "男"
>