博客信息

集合框架(简介、Collection方法、迭代器)

发布时间:『 2019-05-12 08:17』  博客类别:java基础  阅读(853)

简介

集合框架的由来:数据多了用对象进行存储,对象多了用集合来进行存储。

而存储数据的方式(数据结构)各有不同,所以存储的容器也就有多种,从而形成了集合框架这一体系。

小李飞刀_集合框架

Collection方法

小李飞刀_集合框架

迭代器

小李飞刀_集合框架

再举一个形象的例子:

把夹娃娃机比作集合;那么夹娃娃的钩子就可以看成集合中的迭代器;夹娃娃必须通过娃娃机内部的钩子;

而钩子的外挂、移动方式等等都不相同,所以只能定义一个规则,而这个规则就可以看成几何内部的一个迭代器接口Iterator;

有兴趣的可以看看jdk源码。


相关代码

package com.javaxl;

import java.util.ArrayList;

/**
 * @author 小李飞刀
 * @site www.javaxl.com
 * @company
 * @create  2019-05-12 16:48
 *
 * 1、add方法的参数类型是Object,以便接收任意类型对象
 * 2、集合中存储的都是对象引用(地址)
 * 3、迭代器
 *      什么是迭代器呢?
 *      其实就是取出集合元素的方式
 *
 */
public class CollectionDemo {

    public static void main(String[] args) {
        method_get(args);

    }

    /**
     * 集合获取
     * @param args
     */
    public static void method_get(String[] args) {
        ArrayList al = new ArrayList();

        al.add("java01");
        al.add("java02");
        al.add("java03");
        al.add("java04");

    }

    /**
     * 集合交集处理
     * @param args
     */
    public static void method_retain(String[] args) {
        ArrayList al1 = new ArrayList();

        al1.add("java01");
        al1.add("java02");
        al1.add("java03");
        al1.add("java04");

        ArrayList al2 = new ArrayList();

        al2.add("java05");
        al2.add("java06");
        al2.add("java03");
        al2.add("java04");

//        al1.retainAll(al2);
//        System.out.println("al1保留交集对象:"+al1);//[java03, java04]

        al1.removeAll(al2);
        System.out.println("al1去除交集对象:"+al1);//[java03, java04]

    }

    /**
     * 集合基本方法
     * @param args
     */
    public static void method_base(String[] args) {

//        创建一个集合容器,使用collection接口的一个子类
        ArrayList al = new ArrayList();

//        增加
        al.add("java01");
        al.add("java02");
        al.add("java03");
        al.add("java04");

//        获取个数,集合长度
        System.out.println("集合长度:"+al.size());


//        删除
//        al.remove("java02");
        al.clear();

//        判断元素
        System.out.println("是否包含java02:"+al.contains("java02"));
        System.out.println("是否为空:"+al.isEmpty());


        System.out.println(al);

    }
}




关键字:     Java基础       集合框架  

备案号:湘ICP备19000029号

Copyright © 2018-2019 javaxl晓码阁 版权所有