之前幾節(jié)介紹了各種具體容器類(lèi)和抽象容器類(lèi),上節(jié)我們提到,Java中有一個(gè)類(lèi)Collections,提供了很多針對(duì)容器接口的通用功能,這些功能都是以靜態(tài)方法的方式提供的。
都有哪些功能呢?大概可以分為兩類(lèi):
- 對(duì)容器接口對(duì)象進(jìn)行操作
- 返回一個(gè)容器接口對(duì)象
對(duì)于第一類(lèi),操作大概可以分為三組:
- 查找和替換
- 排序和調(diào)整順序
- 添加和修改
對(duì)于第二類(lèi),大概可以分為兩組:
- 適配器:將其他類(lèi)型的數(shù)據(jù)轉(zhuǎn)換為容器接口對(duì)象
- 裝飾器:修飾一個(gè)給定容器接口對(duì)象,增加某種性質(zhì)
它們都是圍繞容器接口對(duì)象的,第一類(lèi)是針對(duì)容器接口的通用操作,這是我們之前在接口的本質(zhì)一節(jié)介紹的面向接口編程的一種體現(xiàn),是接口的典型用法,第二類(lèi)是為了使更多類(lèi)型的數(shù)據(jù)更為方便和安全的參與到容器類(lèi)協(xié)作體系中。
由于內(nèi)容比較多,我們分為兩節(jié),本節(jié)討論第一類(lèi),下節(jié)我們討論第二類(lèi)。下面我們分組來(lái)看下第一類(lèi)中的算法。
查找和替換
查找和替換包含多組方法,我們分別來(lái)看下。