介绍
这篇文章主要介绍”怎么掌握Java数据结构”,在日常操作中,相信很多人在怎么掌握Java数据结构问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答“怎么掌握Java数据结构”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
一:通过一些源码展示各种数据结构的使用方法:
1。顺序表
概念及结构:
顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改
public interface ISequence {,,,//在pos位置插入val , boolean 添加(int pos Object 数据),,,,//查找关键字key 找到返回键的下标,没有返回零,,,, int 搜索(Object 键),,,//查找是否包含关键字关键是否在顺序表当中(这个和搜索有点冲突),, boolean 包含(Object 键),,,//得到pos位置的值,,, Object getPos (int pos),//删除第一次出现的关键字key ,, Object 删除(Object 关键);,,//得到顺序表的长度,,,, int 大小(),,,,//打印顺序表, void 显示器(),,,//清空顺序表以防内存泄漏,,, void 明确(); }
2。链表
概念:链表是一种物理存储结构上非连续,非顺序的存储结构,数据元素的逻辑顺序是通过链表中的引用链接次序实现的。
链表的种类:
- <李>
无头单向非循环链表:结构简单,一般不会单独用来存数据。实际中更多是作为其他数据结构的子结构,如哈希桶,图的邻接表等等。
李>- <李>
带头循环单链表:结构较无头单向非循环链表简单。
李> <李>不带头双向循环链表:在Java的集合框架库中LinkedList底层实现就是不带头双向循环链表
李>//, 1,无头单向非循环链表实现 public interface  ILinked {,,,//头插法, void addFirst (int 数据),,,,//尾插法,,, void addLast (int 数据),,,,//任意位置插入,第一个数据节点为0号下标, boolean addindex (int 指数,int 数据),,,,//查找是否包含关键字关键是否在单链表当中, boolean 包含(int 关键);//删除第一次出现关键字为关键的节点 ,,,int 删除(int 键),,, ,,,,,,,//删除所有值为关键的节点, ,,,,,,,void removeAllKey (int 键),,, ,,,,,,,//得到单链表的长度,,,, ,,,,,,,int getLength ();,, ,,,,,,,void 显示器(),,,,, ,,,,,,,void 明确();, ,,,,,,,}//2、带头循环单链表实现 public interface  ICLinked {,,,//头插法,,, void addFirst (int 数据),,,//尾插法,,, void addLast (int 数据),//任意位置插入,第一个数据节点为0号下标,, boolean addindex (int 指数,int 数据),,,,//查找是否包含关键字关键是否在单链表当中,,, boolean 包含(int 键),,,,//删除第一次出现关键字为关键的节点,,, int 删除(int 关键);,,,,//删除所有值为关键的节点,, void removeAllKey (int 键),//得到单链表的长度,, int getLength (),, void 显示器(),,,, void 明确(); }/,3,不带头双向链表实现 public interface  IDoubleLinked {,,,//头插法,, void addFirst (int 数据),,,,//尾插法,,, void addLast (int 数据);//任意位置插入,第一个数据节点为0号下标,,, boolean addindex (int 指数,int 数据),,,//查找是否包含关键字关键是否在单链表当中,, boolean 包含(int 键),,,,//删除第一次出现关键字为关键的节点,, int 删除(int 关键);,,,//删除所有值为关键的节点,,, void removeAllKey (int 键),//得到单链表的长度,,, int getLength (),,, void 显示器(),,,, void clear (),, }
3。栈
栈的概念及结构
栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出后进先出(后进先出)的原则。压栈,栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。
出栈,栈的删除操作叫做出栈。出数据也在栈顶。
栈的实现一般可以使用数组或者链表实现,相对而言数组的结构实现更优一些。因为数组在尾上插入数据的代价比较小