集合是一种抽象数据类型。html
ADT的抽象性:必须对其实现的细节做出定义,但这些定义用户不可见。java
java标准类库中定义的几种表示不一样类型集合的类
git
/**编程
Stack类数组
栈:桶型或箱型数据类型,后进先出,相对堆Heap为二叉树类型,能够快速定位并操做安全
Stack
public class Stack
Stack的方法调用的Vector的方法,被synchronized修饰,为线程安全(Vector也是)学习
Stack methods:测试
push : 把项压入堆栈顶部 ,并做为此函数的值返回该对象
pop : 移除堆栈顶部的对象,并做为此函数的值返回该对象
peek : 查看堆栈顶部的对象,,并做为此函数的值返回该对象,但不从堆栈中移除它
empty : 测试堆栈是否为空
search : 返回对象在堆栈中的位置,以 1 为基数
*/
3.3 主要的面象对象概念: 已在以前的博客中提过,这里再也不重复叙述。
计算过程:由左至右,将扫描到的操做符应用与前面相邻的两个操做数
异常是一个对象,其定义了一种非正常或错误的状况,但其不一样于错误(没法恢复),其能够被捕获或适当地处理。
容量:数组的单元数量,数组一旦建立好,其不可变。
数组实现栈的一个应用实例,包含栈的一些基本操做。
链表由许多对象构成,每一个对象指向了链表中的下一个对象。
eg:
Person current = first; for (int i = 0; i<n; i ++) current = current.next
查找特定元素:
eg:
String searchstring = "要寻找的元素"; Person current = first; while ((not(current.equals(searchstring))&&(current.next !=null) current = current.next;
注意先后顺序,防止链表丢失。
双向链表:两个引用,分别指向上下两个元素,链表两端放置哑节点。
从链表的一端添加或删除元素。
问题1:没法对链表的首节点作操做。
解决:能够看到,return得到的Head本是677,但在实际应用时又变为676,最终使用
System.out.println
错题1:
解决: 误选,堆栈可用于保存数据。
错题2:
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | |
---|---|---|---|
目标 | 3000行 | 15篇 | 300小时 |
第一周 | 0/0 | 1/1 | 12/12 |
第二周 | 935/935 | 1/2 | 24/36 |
数据结构(Java实现)之单向链表的节点表示、插入、删除、单向链表反转和串联
【数据结构】链表的原理及java实现
java集合包总结(添加、删除等操做实现原理)