首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
swiftma
掘友等级
联合创始人 & CTO
|
到位
《Java编程的逻辑》作者
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
136
文章 136
沸点 0
赞
136
返回
|
搜索文章
最新
热门
计算机程序的思维逻辑 (55) - 容器类总结
容器类有两个根接口,分别是Collection和Map,Collection表示单个元素的集合,Map表示键值对的集合。 Collection表示的数据集合有基本的增、删、查、遍历等方法,但没有定义元素间的顺序或位置,也没有规定是否有重复元素。 List是Collection的…
计算机程序的思维逻辑 (54) - 剖析Collections - 设计模式
上节我们提到,类Collections中大概有两类功能,第一类是对容器接口对象进行操作,第二类是返回一个容器接口对象,上节我们介绍了第一类,本节我们介绍第二类。 接受其他类型的数据,转换为一个容器接口,目的是使其他类型的数据更为方便的参与到容器类协作体系中,这是一种常见的设计模…
计算机程序的思维逻辑 (53) - 剖析Collections - 算法
之前几节介绍了各种具体容器类和抽象容器类,上节我们提到,Java中有一个类Collections,提供了很多针对容器接口的通用功能,这些功能都是以静态方法的方式提供的。 它们都是围绕容器接口对象的,第一类是针对容器接口的通用操作,这是我们之前在接口的本质一节介绍的面向接口编程的…
计算机程序的思维逻辑 (52) - 抽象容器类
从38节到51节,我们介绍的都是具体的容器类,上节我们提到,所有具体容器类其实都不是从头构建的,它们都继承了一些抽象容器类。这些抽象类提供了容器接口的部分实现,方便了Java具体容器类的实现,理解它们有助于进一步理解具体容器类。 此外,通过继承抽象类,自定义的类也可以更为容易的…
计算机程序的思维逻辑 (51) - 剖析EnumSet
上节介绍了EnumMap,本节介绍同样针对枚举类型的Set接口的实现类EnumSet。与EnumMap类似,之所以会有一个专门的针对枚举类型的实现类,主要是因为它可以非常高效的实现Set接口。 之前介绍的Set接口的实现类HashSet/TreeSet,它们内部都是用对应的Ha…
计算机程序的思维逻辑 (50) - 剖析EnumMap
上节我们提到,如果需要一个Map的实现类,并且键的类型为枚举类型,可以使用HashMap,但应该使用一个专门的实现类EnumMap。 为什么要有一个专门的类呢?我们之前介绍过枚举的本质,主要是因为枚举类型有两个特征,一是它可能的值是有限的且预先定义的,二是枚举值都有一个顺序,这…
计算机程序的思维逻辑 (49) - 剖析LinkedHashMap
之前我们介绍了Map接口的两个实现类HashMap和TreeMap,本节来介绍另一个实现类LinkedHashMap。它是HashMap的子类,但可以保持元素按插入或访问有序,这与TreeMap按键排序不同。 按插入有序容易理解,按访问有序是什么意思呢?这两个有序有什么用呢?内…
计算机程序的思维逻辑 (48) - 剖析ArrayDeque
前面我们介绍了队列Queue的两个实现类LinkedList和PriorityQueue,LinkedList还实现了双端队列接口Deque,Java容器类中还有一个双端队列的实现类ArrayDeque,它是基于数组实现的。 我们知道,一般而言,由于需要移动元素,数组的插入和删…
计算机程序的思维逻辑 (47) - 堆和PriorityQueue的应用
求前K个最大的元素,元素个数不确定,数据量可能很大,甚至源源不断到来,但需要知道到目前为止的最大的前K个元素。这个问题的变体有:求前K个最小的元素,求第K个最大的,求第K个最小的。 求中值元素,中值不是平均值,而是排序后中间那个元素的值,同样,数据量可能很大,甚至源源不断到来。…
计算机程序的思维逻辑 (46) - 剖析PriorityQueue
上节介绍了堆的基本概念和算法,本节我们来探讨堆在Java中的具体实现类 - PriorityQueue。 我们先从基本概念谈起,然后介绍其用法,接着分析实现代码,最后总结分析其特点。 顾名思义,PriorityQueue是优先级队列,它首先实现了队列接口(Queue),与Lin…
下一页
个人成就
优秀创作者
文章被点赞
4,877
文章被阅读
164,520
掘力值
8,804
关注了
1
关注者
9,964
收藏集
1
关注标签
29
加入于
2016-07-22