java集合collection接口與子接口及實現(xiàn)類

概要
集合概念:像數(shù)組一樣是java的一個容器;和數(shù)組不同的是數(shù)組只能存同類型的數(shù)據(jù),且長度定義之后就不可變,集合不僅,可以存多種類型的數(shù)據(jù),而且還提供了增、刪、改、查的方法;
集合分類:可以分為單列集合與雙列集合,單列集合指在集合中放單個元素,雙列集合指集合中的元素是以鍵值對的方式存放的。
在Collection接口的兩個重要子接口Set與List接口,實現(xiàn)的子類都是單列集合,通過觀察Collection接口源碼,可以看出它繼承了Iterable接口;

1 Collection接口的實現(xiàn)子類特性
- (1)Collection接口的實現(xiàn)子類可以存放多元素,每個元素可以是Object
- (2)Collection接口的實現(xiàn)子類,List存放有序,Set存放無序;
- (3)Collection接口沒有直接子類,都是通過List與Set子接實現(xiàn)的
2 通過實現(xiàn)子類ArrayList體現(xiàn)Collection接口方法
Collection中常用方法如下:

2.1 代碼演示示例
//通過注解抑制編譯警告
@SuppressWarnings({"all"})
public class CollectionMethodDemo {
public static void main(String[] args) {
// 創(chuàng)建對象
List arrList = new ArrayList();
// 使用add添加元素
arrList.add("name");
arrList.add(15);
}
}3 集合的遍歷:①使用Iterator(迭代器)②增強for循環(huán)遍歷
- 1)、Iterator對象稱為迭代器,主要用于遍歷Collection集合中的元素,
- 2)、所有實現(xiàn)了Collection接口的類都有一個iterator()方法,用于返回實現(xiàn)了Iterator接口的對象,可以返回一個迭代器
- 3)、Iterator僅用于遍歷集合,不存放對象;
3.1 代碼示例
public class ArrayListTest {
public static void main(String[] args) {
Books book1 = new Books("三國演義",50);
Books book2 = new Books("紅樓夢",60);
Books book3 = new Books("西游記",70);
Books book4 = new Books("水滸傳",80);
// 創(chuàng)建集合
List list = new ArrayList<>();
// 添加元素
list.add(book1);
list.add(book2);
list.add(book3);
list.add(book4);
// 迭代器遍歷集合
Iterator iterator = list.iterator();
while (iterator.hasNext()){
Object object = iterator.next();
System.out.println(object);
}
System.out.println("======================");
// 增強for遍歷
for (Object b:list){
System.out.println(b);
}
}
}
class Books{
private String name;
private int price;
public Books() {
}
public Books(String name, int price) {
this.name = name;
this.price = price;
}
/**
* 獲取
* @return name
*/
public String getName() {
return name;
}
/**
* 設(shè)置
* @param name
*/
public void setName(String name) {
this.name = name;
}
/**
* 獲取
* @return price
*/
public int getPrice() {
return price;
}
/**
* 設(shè)置
* @param price
*/
public void setPrice(int price) {
this.price = price;
}
public String toString() {
return "Books{name = " + name + ", price = " + price + "}";
}
}4 List相關(guān)解讀
- 實現(xiàn)了List接口的子類都,都是有序的且允許重復(fù);
- 存入數(shù)據(jù)與取出的數(shù)據(jù)順序保持一致,支持索引取(索引從0開始);
5 Set接口分析
- 1)Set接口創(chuàng)建集合是無序的,沒有索引,
- 2)不許出現(xiàn)重復(fù)元素,最多包含一個null
- 3)常見的Set接口實現(xiàn)類有,HashSet、TreeSet
Map接口及實現(xiàn)子類
Map子類實現(xiàn)的都是雙列集合
map接口實現(xiàn)類的特點(JDK 8):
- (1)保存具有映射關(guān)系的數(shù)據(jù);雙列元素key----value
- (2)Map中的key和value可以是任意的引用類型數(shù)據(jù),會封裝到HashMap$Node對象
- (3)Map中的key不允許重復(fù),value可以重復(fù);
- (4)Map中的key和value都可以為空,但可以只能有一個null,
- (5)在Map中常用String類型作為key使用
- (6)key與value存在一一對應(yīng)的關(guān)系

結(jié)語
到此這篇關(guān)于java集合collection接口與子接口及實現(xiàn)類的文章就介紹到這了,更多相關(guān)java collection接口內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring中使用騰訊云發(fā)送短信驗證碼的實現(xiàn)示例
本文主要介紹了Spring?中?使用騰訊云發(fā)送短信驗證碼,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03
Java服務(wù)調(diào)用失敗報Service com.oneinfinite.adflow.api.service.T
在Java開發(fā)中,服務(wù)調(diào)用是常見的操作,尤其是在微服務(wù)架構(gòu)中,然而,服務(wù)調(diào)用過程中可能會遇到各種問題,下面我們來看看如何解決Service com.oneinfinite.adflow.api.service.TestService with version 0.0.0 not found的問題吧2025-03-03
IDEA中application.properties的圖標顯示不正常的問題及解決方法
這篇文章主要介紹了IDEA中application.properties的圖標顯示不正常的問題及解決方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-04-04
Java并發(fā)之synchronized實現(xiàn)原理深入理解
這篇文章主要介紹了Java中synchronized實現(xiàn)原理詳解,涉及synchronized實現(xiàn)同步的基礎(chǔ),Java對象頭,Monitor,Mark Word,鎖優(yōu)化,自旋鎖等相關(guān)內(nèi)容,具有一定借鑒價值,需要的朋友可以參考下2021-08-08

