最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

概要

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

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

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

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

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

2 通過實(shí)現(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(迭代器)②增強(qiáng)for循環(huán)遍歷

  • 1)、Iterator對象稱為迭代器,主要用于遍歷Collection集合中的元素,
  • 2)、所有實(shí)現(xiàn)了Collection接口的類都有一個iterator()方法,用于返回實(shí)現(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("======================");
//        增強(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)建集合是無序的,沒有索引,
  • 2)不許出現(xiàn)重復(fù)元素,最多包含一個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ù),會封裝到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接口與子接口及實(shí)現(xiàn)類的文章就介紹到這了,更多相關(guān)java collection接口內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

女性| 宣恩县| 嘉善县| 德阳市| 克什克腾旗| 沈丘县| 寻甸| 手游| 南召县| 揭东县| 仲巴县| 原平市| 平利县| 梅州市| 绍兴市| 清原| 宁阳县| 连山| 静乐县| 寻乌县| 墨竹工卡县| 马鞍山市| 台东市| 呼和浩特市| 景宁| 泗阳县| 将乐县| 滕州市| 濉溪县| 岳池县| 东至县| 清镇市| 永济市| 乳山市| 丁青县| 安顺市| 焦作市| 清远市| 孙吴县| 蓬安县| 南康市|