欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2022年07月22日 11:15:17   作者:Zinksl  
這篇文章主要介紹了java集合collection接口與子接口及實(shí)現(xiàn)類,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下

概要

集合概念:像數(shù)組一樣是java的一個(gè)容器;和數(shù)組不同的是數(shù)組只能存同類型的數(shù)據(jù),且長(zhǎng)度定義之后就不可變,集合不僅,可以存多種類型的數(shù)據(jù),而且還提供了增、刪、改、查的方法;

集合分類:可以分為單列集合與雙列集合,單列集合指在集合中放單個(gè)元素,雙列集合指集合中的元素是以鍵值對(duì)的方式存放的。

在Collection接口的兩個(gè)重要子接口Set與List接口,實(shí)現(xiàn)的子類都是單列集合,通過(guò)觀察Collection接口源碼,可以看出它繼承了Iterable接口;

1 Collection接口的實(shí)現(xiàn)子類特性

  • (1)Collection接口的實(shí)現(xiàn)子類可以存放多元素,每個(gè)元素可以是Object
  • (2)Collection接口的實(shí)現(xiàn)子類,List存放有序,Set存放無(wú)序;
  • (3)Collection接口沒(méi)有直接子類,都是通過(guò)List與Set子接實(shí)現(xiàn)的

2 通過(guò)實(shí)現(xiàn)子類ArrayList體現(xiàn)Collection接口方法

Collection中常用方法如下:

2.1 代碼演示示例

//通過(guò)注解抑制編譯警告
@SuppressWarnings({"all"})
public class CollectionMethodDemo {
    public static void main(String[] args) {
//        創(chuàng)建對(duì)象
        List arrList = new ArrayList();
//        使用add添加元素
        arrList.add("name");
        arrList.add(15);
    }

}

3 集合的遍歷:①使用Iterator(迭代器)②增強(qiáng)for循環(huán)遍歷

  • 1)、Iterator對(duì)象稱為迭代器,主要用于遍歷Collection集合中的元素,
  • 2)、所有實(shí)現(xiàn)了Collection接口的類都有一個(gè)iterator()方法,用于返回實(shí)現(xiàn)了Iterator接口的對(duì)象,可以返回一個(gè)迭代器
  • 3)、Iterator僅用于遍歷集合,不存放對(duì)象;

3.1 代碼示例

public class ArrayListTest {
    public static void main(String[] args) {
    Books book1 = new Books("三國(guó)演義",50);
    Books book2 = new Books("紅樓夢(mèng)",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("======================");
//        增強(qiáng)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)解讀

  • 實(shí)現(xiàn)了List接口的子類都,都是有序的且允許重復(fù);
  • 存入數(shù)據(jù)與取出的數(shù)據(jù)順序保持一致,支持索引取(索引從0開始);

5 Set接口分析

  • 1)Set接口創(chuàng)建集合是無(wú)序的,沒(méi)有索引,
  • 2)不許出現(xiàn)重復(fù)元素,最多包含一個(gè)null
  • 3)常見的Set接口實(shí)現(xiàn)類有,HashSet、TreeSet

Map接口及實(shí)現(xiàn)子類

Map子類實(shí)現(xiàn)的都是雙列集合

map接口實(shí)現(xiàn)類的特點(diǎn)(JDK 8):

  • (1)保存具有映射關(guān)系的數(shù)據(jù);雙列元素key----value
  • (2)Map中的key和value可以是任意的引用類型數(shù)據(jù),會(huì)封裝到HashMap$Node對(duì)象
  • (3)Map中的key不允許重復(fù),value可以重復(fù);
  • (4)Map中的key和value都可以為空,但可以只能有一個(gè)null,
  • (5)在Map中常用String類型作為key使用
  • (6)key與value存在一一對(duì)應(yīng)的關(guān)系

結(jié)語(yǔ)

到此這篇關(guān)于java集合collection接口與子接口及實(shí)現(xiàn)類的文章就介紹到這了,更多相關(guān)java collection接口內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java實(shí)現(xiàn)特定范圍的完數(shù)輸出算法示例

    Java實(shí)現(xiàn)特定范圍的完數(shù)輸出算法示例

    這篇文章主要介紹了Java實(shí)現(xiàn)特定范圍的完數(shù)輸出算法,簡(jiǎn)單說(shuō)明了完數(shù)的概念、計(jì)算原理并結(jié)合實(shí)例形式分析了java針對(duì)給定范圍內(nèi)的完數(shù)輸出操作實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-12-12
  • Java編程中的防轉(zhuǎn)義和轉(zhuǎn)義技巧匯總

    Java編程中的防轉(zhuǎn)義和轉(zhuǎn)義技巧匯總

    在編程過(guò)程中,我們常常需要處理特殊字符和特定上下文,以確保生成的內(nèi)容在正確的環(huán)境中能夠被解析和顯示,本文將介紹一些常見的防轉(zhuǎn)義或者轉(zhuǎn)義處理的編程技巧,需要的可以參考一下
    2023-07-07
  • Java使用jxl包寫Excel文件適合列寬實(shí)現(xiàn)

    Java使用jxl包寫Excel文件適合列寬實(shí)現(xiàn)

    用jxl.jar包,讀寫過(guò)Excel文件。也沒(méi)有注意最適合列寬的問(wèn)題,但是jxl.jar沒(méi)有提供最適合列寬的功能,上次用到寫了一下,可以基本實(shí)現(xiàn)最適合列寬。
    2013-11-11
  • java file.renameTo返回false的原因及解決方案

    java file.renameTo返回false的原因及解決方案

    這篇文章主要介紹了java file.renameTo返回false的原因及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Java中的適配器原理解析

    Java中的適配器原理解析

    這篇文章主要介紹了Java中的適配器原理解析,當(dāng)實(shí)現(xiàn)接口時(shí),為了使所用的類中只實(shí)現(xiàn)需要的方法,使代碼更加簡(jiǎn)潔,可以定義一個(gè)抽象類實(shí)現(xiàn)接口,將所需要的方法定義為 抽象方法,然后讓類繼承此抽象方法即可,需要的朋友可以參考下
    2023-11-11
  • 如何基于Spring使用工廠模式實(shí)現(xiàn)程序解耦

    如何基于Spring使用工廠模式實(shí)現(xiàn)程序解耦

    這篇文章主要介紹了如何基于Spring使用工廠模式實(shí)現(xiàn)程序解耦,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • elasticsearch集群cluster主要功能詳細(xì)分析

    elasticsearch集群cluster主要功能詳細(xì)分析

    這篇文章主要為大家介紹了elasticsearch集群cluster主要功能詳細(xì)分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-04-04
  • 關(guān)于Java三大特性之多態(tài)的總結(jié)

    關(guān)于Java三大特性之多態(tài)的總結(jié)

    這篇文章主要介紹了關(guān)于Java三大特性之多態(tài)的總結(jié),內(nèi)容詳細(xì),涉及多態(tài)的定義,存在條件,好處,分類及實(shí)現(xiàn)方式等相關(guān)內(nèi)容,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • Mybatis之Mapper動(dòng)態(tài)代理實(shí)例解析

    Mybatis之Mapper動(dòng)態(tài)代理實(shí)例解析

    這篇文章主要介紹了Mybatis之Mapper動(dòng)態(tài)代理實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • 啟動(dòng)SpringBoot報(bào)錯(cuò)Input length = 1問(wèn)題及解決

    啟動(dòng)SpringBoot報(bào)錯(cuò)Input length = 1問(wèn)題及解決

    這篇文章主要介紹了啟動(dòng)SpringBoot報(bào)錯(cuò)Input length = 1問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05

最新評(píng)論