20175208 《Java程序设计》第八周学习总结
20175208 2018-2019-3《Java程序设计》第八周学习总结
一.教材学习内容总结:
1.泛型:
- 泛型的主要目的是可以建立具有类型安全的集合框架(如链表、散列映射等数据结构)
- 通过
class 名称<泛型列表>
来声明一个类,这样声明的类被称作泛型类。 -
泛型类最重要的优点就是:在使用这些泛型类建立数据结构时,不必进行强制类型转换,即不要求进行运行时的类型检查
2.LinkedList泛型类:
- LinkedList泛型类创建的对象以链表结构存储数据,习惯上称LinkedList类创建的对象为链表对象。例如,
LinkedList<String> mylist=new LinkedList<String>();
- LinkedList泛型类常用方法
- 1.LinkedList泛型类实现Lis泛型接口中的一些常用方法。
- 2.public boolean add(E element) 向链表末尾添加一个新的节点,该节点中的数据是参数elememt指定的数据。
- 3.public void add(int index ,E element) 向链表的指定位置添加一个新的节点,该节点中的数据是参数elememt指定的数据。
- 4.public void clear() 删除链表的所有节点,使当前链表成为空链表。
- 5.public E remove(int index) 删除指定位置上的节点。
- 6.public boolean remove(E element) 删除首次出现含有数据elemen的节点。
- 7.public E get(int index) 得到链表中指定位置处节点中的数据。
3.堆栈:
- 堆栈是一种“后进先出”的数据结构,只能在一端进行输入或输出数据的操作。 1.Stack泛型类创建一个堆栈对象,堆栈对象常用方法:
- 2.public E push(E item);实现压栈操作
- 3.public E pop();实现弹栈操作。
- 4.public boolean empty();判断堆栈是否还有数据。
- 5.public E peek();获取堆栈顶端的数据,但不删除该数据。
- 6.public int search(Object data);获取数据在堆栈中的位置。
4.散列映射:
- 常用方法
1.public void clear() 清空散列映射。
2.public Object clone() 返回当前散列映射的一个克隆。
3.public boolean containsKey(Object key) 如果散列映射有“键/值”对使用了参数指定的键,方法返回true,否则返回false。 - public boolean containsValue(Object value) 如果散列映射有“键/值”对的值是参数指定的值。
5.public V get(Object key) 返回散列映射中使用key做键的“键/值”对中的值。
6.public boolean isEmpty() 如果散列映射不含任何“键/值”对,方法返回true,否则返回false。
7.public V remove(Object key) 删除散列映射中键为参数指定的“键/值”对,并返回键对应的值。
8.public int size() 返回散列映射的大小,即散列映射中“键/值”对的数目。 - 遍历散列映射
public Collection values()方法返回一个实现Collection接口类创建的对象。使用接口回调技术,即将该对象的引用赋给Collection接口变量,该接口变量可以回调
iterator()方法获取一个Iterator对象,这个Iterator对象存放着散列映 射中所有“键/值”对中的“值”。
5.树集:
- TreeSet类的常用方法
1.public boolean add(E o) 向树集添加加节点。
2.public void clear() 删除树集中的所有节点。
3.public void contains(Object o) 如果树集中有包含参数指定的对象,该方法返回true,否则返回false 。
4.public E first() 返回树集中的第一个节点中的数据(最小的节点)。
5.public E last() 返回最后一个节点中的数据(最大的节点)。
6.public isEmpty() 判断是否是空树集,如果树集不含任何节点,该方法返回true 。
7.public boolean remove(Object o) 删除树集中的存储参数指定的对象的最小节点。
8.public int size() 返回树集中节点的数目。 - 树映射
TreeMap<K,V>类实现了Map<K,V>接口,称TreeMap<K,V>对象为树映射。 - 自动装箱与拆箱
6.
1.使用Collection收集对象
- 收集对象的行为,像是新增对象的add()方法、移除对象的remove()方法等,都是定义在java.util.Collection中。既然可以收集对象,也要能逐一取得对象,这就是java.lang.Iterable定义的行为,它定义了iterator()方法返回java.lang.Iterable操作对象,可以让你逐一取得收集的对象。
- 收集对象的共同行为定义在Collection中,然而收集对象会有不同的需求。如果希望收集时记录每个对象的索引顺序,并可依索引取回对象,这样的行为定义在java.util.List接口中。如果希望收集的对象不重复,具有集合的行为,则由java.util.Set定义。如果希望收集对象时以队列方式,收集的对象加入至尾端,取得对象时从前端,则可以使用java.util.Queue。如果希望Queue的两端进行加入、移除等操作,则可以使用java.util.Deque。
二.实验截图:
三。学习体会:
这周的学习,感觉现在看视频对我的帮助很大,而且把视频和书相互结合起来效益更大。现在学的越来越深了,感觉自己基础不牢的缺点正在渐渐浮现,需要我现在付出更多的努力和精力来学习。