学习目标:理解、掌握泛型、链表、散列映射的基本概念与语法。
一、泛型
1.泛型类:
可以使用“class+名称+<泛型列表>”声明一个类,为了和普通的类有所区别,这样声明的类称作泛型类。形式如下:
2.使用泛型类声明对象
3.泛型接口:
使用“interface+名称+<泛型列表>”声明一个接口,这样声明的接口称为泛型接口。例如:interface Computer<E>
其中Computer是泛型接口的名称,E是其中的泛型。
Java泛型的主要目的是可以建立具有类型安全的数据结构,如链表、散列表等数据结构,最重要的一个优点就是:在使用这些泛型类建立的数据结构时,不必进行强制类型转换,即不要求进行运行时类型检查。将运行时的类型检查提前到编译时执行,使代码更安全。Java推出泛型的主要目的是为了建立具有类型安全的数据结构,如链表、散列映射等。
二、链表
1.Linkedlist<E>泛型类:
java.util 包中的LinkedList<E>泛型类创建的对象以链表结构存储数据,习惯上称LinkedList类创建的对象为链表对象。LinkedList<E>泛型类声明创建链表时,要指定E的具体类型然后链表就可以使用add(E obi)方法向链表依次增加节点。
LinkedList<String> mylist=new Linkedlist<String>();
mylist 使用add方法添加节点,节点中的数据必须是String对象,如下列片代码所示意:
2.如何遍历列表:
链表对象可以使用iterator()方法获取一个Iterator对象,该对象就是针对当前链表的迭代器。
由于迭代器遍历集合的方法在找到集合中的一个对象的同时,也得到待遍历的后继对象的引用,因此迭代器可以快速地遍历集合。
三、散列映射
1.HashMap<K,V>泛型类:
HashMap<K,V>泛型类实现了泛型接门Map<K,V>HashMap<K,V>类中的绝大部分方法都是Map<k,V>接口方法的实现。
HashMap<K,VS对象采用散列表这种数据结构存储数据,习惯上称HashMap<K,V>对象为散列映射。散列映射用于存储“键/值”对,允许把任何数量的“键/值”对存储在一起。键不可以发生逻辑冲突,即不要两个数据项使用相同的键,如果出现两个数据项对应相同的键,那么,先前散列映射中的“键/值”对将被替换。
2.常用调用方法:
3.遍历散列映射:
散列映射调用public Collection<V> values()方法返回一个实现Collection<V>接口类的对象,该对象调iterator()方法获取一个lterator对象,这个lterator对象存放着当前散列映射中所有“键/值”对中的“值”。
学习心得:
通过本节课的学习,我体会到了泛型在Java编程中的重要性和集合框架的强大功能。泛型使得代码更加类型安全,减少了类型转换的错误。而集合框架则提供了丰富多样的数据结构,方便我们对数据进行高效的处理。这次课程的课后实践也让我更加熟悉了这些知识点的应用,提高了我的编程能力。