集合是一种隐藏了实现细节的抽象html
数据结构通常是说计算机存储和组织数据的方式,还有就是相互之间存在一种或多种特定关系的数据元素的集
合,简单来讲就是数据的逻辑或物理存储方式。而数据类型就是对数据的抽象描述,包括整型、浮点型git
抽象数据类型(ADT):是一种在程序设计语言中还没有定义其值和操做的数据结构类型。ADT的抽象性体如今,ADT必
须对实现细节进行定义,且这些对用户是不可见的。程序员
Java集合API是一个类集,表示了一些特定类型的集合,这些类的实现方式各不相同。算法
异常就是一个对象,它定义了一种非正常或错误的状况。异常由程序或运行时环境抛出,能够按预期的被捕获或被正
确处理。错误与异常相似,只不过错误每每表示一种没法恢复的状况,且没必要去捕获它。错误和异常表示不正常或不合法的处理。编程
一般须要一个单独的引用变量(next)来表示链表的首节点,终止于next引用为空的结点。数组
删除结点:安全
栈的链表实现是从链表的一端添加和删除元素数据结构
问题1解决方案:框架
泛型是程序设计语言的一种特性。容许程序员在强类型程序设计语言中编写代码时定义一些可变部分
,那些部分在使用前必须做出指明。各类程序设计语言和其编译器、运行环境对泛型的支持均不同。将类型参数化以达
到代码复用提升软件开发工做效率的一种数据类型。泛型类是引用类型,是堆对象,主要是引入了类型参数这个概念。学习
能够在集合框架(Collection framework)中看到泛型的动机。
泛型只在编译阶段有效。
- 泛型的好处:ava语言引入泛型的好处是安全简单。泛型的好处是在编译的时候检查类型安全,而且全部的强制转换都是自动和隐式的,提升代码的重用率。
问题2解决方案:看了半天的资料,才发现其实这个问题能够说成是数组和链表的区别。
数组,在内存上给出了连续的空间.链表,内存地址上能够是不连续的,每一个链表的节点包括原来的内存和下一个节点的信息
数组:
优势:使用方便 ,查询效率 比链表高,内存为一连续的区域
缺点:大小固定,不适合动态存储,不方便动态添加
链表:
优势:可动态添加删除 大小可变
缺点:只能经过顺次指针访问,查询效率低
顺序表的优势:查找方便,适合随机查找
顺序表的缺点:插入、删除操做不方便,由于插入、删除操做会致使大量元素的移动
连接表的优势:插入、删除操做方便,不会致使元素的移动,由于元素增减,只须要调整指针。
顺序表的缺点:查找方便,不适合随机查找
(statistics.sh脚本的运行结果截图)
一个高效的系统能够优雅地处理问题
太粗心了。
可使用堆栈来保存一组数据的顺序
解析:一组地址采用连续的存储单元来依次存储线性表的各个数据元素称之为线性表的顺序存储结构,顺序存储结构就是把
一堆数据按照给定的地址连续存放。而链表是内存中随机存贮,只有数组这种静态的内存分配方式才是连续存贮的。
pp3.9是使用Android Studio没上传码云,现附上截图
这个星期又开始了敲代码之旅,数组,集合,栈这些内容其实上个学期都有学习到一些,可是通过这一个礼拜
的学习发现,这个学期的课程更加深刻了(其实这是必然的),可是我也认识到上个学期的内容不少我都遗忘了,
因此有时间仍是要去复习一下之前的课本了( • ̀ω•́ )✧
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | ||
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 0/0 | 1/1 | 10/10 | |
第二周 | 326/326 | 1/2 | 18/28 | 学习在一点点的深刻 |