Java泛型
一、什么是泛型?
通过泛型可以定义类型安全类,而不会损害类型安全、性能或工作效率
二、泛型的好处
1、一次性的开发、测试和部署代码,通过任何类型来重用它
2、编译器支持和类型安全
3、不会强行对值类型进行装箱和取消装箱,或者对引用类型进行向下强制类型转换,所以性能得到显著提高。
4 、封装一些共性问题,可以简化很多代码,使代码更加有层次,简单
5、比object类范围明显缩小了,提高了程序运行的效率
import java.util.HashMap;
import java.util.Iterator;
public class HashMapDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
HashMap<String,String> map=new HashMap<String,String>();//键是唯一的
map.put("小美", "123456789");
map.put("大胆的", "123654789");
map.put("ddd", "147852369");
//遍历
for(String key:map.keySet()){
System.out.println(key);
}
System.out.println("---------------------------------------------------");
//遍历所有的值
for(String value:map.values()){
System.out.println(value);
}
//集合的大小
System.out.println("---------------------------------------------------");
map.size();
System.out.println(map.containsKey("小美"));//true,containsKey()是否包含键
System.out.println("---------------------------------------------------");
//迭代方式
Iterator<String> it=map.keySet().iterator();//迭代器
while(it.hasNext()){
System.out.println(it.next());
}
System.out.println(map);
System.out.println("---------------------------------------------------");
}
接下来讲二叉树
1.先序遍历的递归算法定义:(也叫做先根遍历、前序遍历). 若二叉树非空,则依次执行如下操作:
(1) 访问根结点;
(2) 遍历左子树;
(3) 遍历右子树。
上面所示二叉树的遍历结果是:ABDECF
2.中序遍历的递归算法定义:若二叉树非空,则依次执行如下操作:
(1)遍历左子树;
(2)访问根结点;
(3)遍历右子树。
上面所示二叉树的遍历结果是:DBEAFC
(1)遍历左子树;
(2)访问根结点;
(3)遍历右子树。
上面所示二叉树的遍历结果是:DBEAFC
3.后序遍历得递归算法定义:若二叉树非空,则依次执行如下操作:
(1)遍历左子树;
(2)遍历右子树;
(3)访问根结点。
上面所示二叉树的遍历结果是:DEBFCA若二叉树为空,则退出,否则,
按照树的结构,从根开始自上而下,自左而右访问每一个结点,从而实现对每一个结点的遍历
4.层次遍历:层序遍历(level traversal)二叉树的操作定义为:
**若二叉树为空,则退出,否则,按照树的结构,从根开始自上而下,自左而右访问每一个结点,从而实现对每一个结点的遍历 **