集合框架(CollectionsFramework)詳解及代碼示例-創(chuàng)新互聯(lián)

簡(jiǎn)介

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊(cè)、虛擬主機(jī)、營(yíng)銷軟件、網(wǎng)站建設(shè)、云浮網(wǎng)站維護(hù)、網(wǎng)站推廣。

集合和數(shù)組的區(qū)別:

數(shù)組存儲(chǔ)基礎(chǔ)數(shù)據(jù)類型,且每一個(gè)數(shù)組都只能存儲(chǔ)一種數(shù)據(jù)類型的數(shù)據(jù),空間不可變。


集合存儲(chǔ)對(duì)象,一個(gè)集合中可以存儲(chǔ)多種類型的對(duì)象。空間可變。


嚴(yán)格地說(shuō),集合是存儲(chǔ)對(duì)象的引用,每個(gè)對(duì)象都稱為集合的元素。根據(jù)存儲(chǔ)時(shí)數(shù)據(jù)結(jié)構(gòu)的不同,分為幾類集合。但對(duì)象不管存儲(chǔ)到什么類型的集合中,既然集合能存儲(chǔ)任何類型的對(duì)象,這些對(duì)象在存儲(chǔ)時(shí)都必須向上轉(zhuǎn)型為Object類型,也就是說(shuō),集合中的元素都是Object類型的對(duì)象。

既然是集合,無(wú)論分為幾類,它都有集合的共性,也就是說(shuō)雖然存儲(chǔ)時(shí)數(shù)據(jù)結(jié)構(gòu)不一樣,但該有的集合方法還是得有。在java中,Collection接口是集合框架的根接口,所有集合的類型都實(shí)現(xiàn)了此接口或從其子接口中繼承。

Collection接口


根據(jù)數(shù)據(jù)結(jié)構(gòu)的不同,一些collection允許有重復(fù)的元素,而另一些則不允許。一些collection是有序的,而另一些則是無(wú)序的。

Java SDK不提供直接繼承自Collection的類,Java SDK提供的類都是繼承自Collection的"子接口"如List和Set。也就是說(shuō),無(wú)法直接new一個(gè)collection對(duì)象,而是只能new一個(gè)實(shí)現(xiàn)Collection類的子接口的對(duì)象,如new ArrayList();。

集合框架(Collections Framework)詳解及代碼示例

所有的Collection類都必須至少提供兩個(gè)構(gòu)造方法:無(wú)參數(shù)構(gòu)造方法構(gòu)造一個(gè)空集合;帶Collection參數(shù)的構(gòu)造方法構(gòu)造一個(gè)包含該Collection內(nèi)容的集合。例如,ArrayList就有3個(gè)構(gòu)造方法,其中之二就滿足這兩個(gè)構(gòu)造方法的要求。

Collection是java.util包中的類,因此要實(shí)現(xiàn)集合的概念,需要先導(dǎo)入該包。

ArrayList繼承自List接口,List接口又繼承自Collection接口。ArrayList類存儲(chǔ)的集合中,元素有序、可重復(fù)。

import java.util.*;
Collection coll = new ArrayList();


因?yàn)镃ollection接口不允許直接實(shí)現(xiàn),因此需要通過(guò)實(shí)現(xiàn)它的子類來(lái)實(shí)現(xiàn)集合的概念,此處創(chuàng)建的是ArrayList對(duì)象,使用了父類引用,好處是擴(kuò)展性較好。

Collection有一些集合的通用性操作方法,分為兩類:一類是普通方法;一類是帶有All的方法,這類方法操作的是集合。

add():向集合的尾部插入元素,返回值類型為boolean,插入成功返回true。注意集合只能存儲(chǔ)對(duì)象(實(shí)際上是對(duì)象的引用)。

import java.util.*;
//
public class TestColl {
	public static void main(String[] args) {
		Collection coll = new ArrayList();
		coll.add("abcd");
		//插入字符串對(duì)象
		coll.add(123);
		//插入Int對(duì)象
		coll.add(123);
		coll.add(new Student("Gaoxiaof",23));
		//插入Student對(duì)象
		coll.add(new Student("Gaoxiaof",23));
		//插入另一個(gè)Student對(duì)象
		System.out.println(coll);
		//直接輸出集合中的元素,得到結(jié)果[abcd,123,123,Gaoxiaof 23,Gaoxiaof 23]
	}
}
//
class Student {
	private String name;
	private int age;
	Student(String name,int n) {
		this.name = name;
		this.age = n;
	}
	public String getName() {
		return this.name;
	}
	public int getAge() {
		return this.age;
	}
	public String toString() {
		return this.name + " " + this.age;
	}
}

名稱欄目:集合框架(CollectionsFramework)詳解及代碼示例-創(chuàng)新互聯(lián)
本文來(lái)源:http://muchs.cn/article18/csgegp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開(kāi)發(fā)、定制開(kāi)發(fā)、網(wǎng)站策劃、定制網(wǎng)站、App設(shè)計(jì)、自適應(yīng)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化