A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

陈藏宇

初级黑马

  • 黑马币:

  • 帖子:

  • 精华:

[学习交流] Collection

© 陈藏宇 初级黑马   /  2018-11-11 13:01  /  524 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package com.itheima01.collection;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;

/*
     既然集合与数组都称为 存储元素的集合
       那么 它们 有什么区别呢

       1:数组长度固定,集合可变
       2:数组中只能存储一种数据类型,集合可以存储多种数据类型,咱们一般存储一种
       3:数组中可以存储基本类型,也可以存储引用类型,而集合只能存储引用类型




     学习 Collection中定义的功能
        java.util包下接口
        - public boolean add(E e):  把给定的对象添加到当前集合中 。
        - public void clear() :清空集合中所有的元素。
        - public boolean remove(E e): 把给定的对象在当前集合中删除。
        - public boolean contains(Object obj): 判断当前集合中是否包含给定的对象。
        - public boolean isEmpty(): 判断当前集合是否为空。
        - public int size(): 返回集合中元素的个数。
        - public Object[] toArray(): 把集合中的元素,存储到数组中。


        学这些方法怎么学
           通过创建对象可以学习

         这是一个接口 没有办法创建对象

         多态 的形式下 可以使用父接口中定义出来的功能,真正实现是有子类具体实现的

         不关心怎么实现 我们关心的是 如何操作这些方法

         多态的写法
           Collection<数据类型> coll = new ArrayList<>();
           Collection<数据类型> coll = new HashSet<>();

         多态形式学习共性功能

         使用集合三步
           1:创建集合对象
           2:添加元素到集合
           3:取出集合元素  (遍历,迭代)

*/
public class Demo01Collection {

    public static void main(String[] args) {
        // 创建Collection集合对象
        Collection<String> coll = new ArrayList<>();
        // 添加元素之前 这个集合是一个空的集合
        // public boolean isEmpty(): 判断当前集合是否为空。
        System.out.println("添加元素之前集合是否为空呢?"+coll.isEmpty());
        // 添加功能
        //  public boolean add(E e):  把给定的对象添加到当前集合中 。
        coll.add("马尔扎哈");
        coll.add("古力娜扎");
        coll.add("迪丽热巴");
        System.out.println("添加元素之后集合是否为空呢?"+coll.isEmpty());
        System.out.println("添加之后,集合中元素个数:"+coll.size());

        // 查看集合中内容 因为重写了toString 所以可以直接查看
        System.out.println("集合中内容:"+coll);
        // public boolean contains(Object obj): 判断当前集合中是否包含给定的对象。
        // 包含方法
        System.out.println("判断一下 尼古拉斯 在没在该集合中:"+coll.contains("尼古拉斯"));
        System.out.println("判断一下 马尔扎哈 在没在该集合中:"+coll.contains("马尔扎哈"));
        //  public boolean remove(E e): 把给定的对象在当前集合中删除。
       // 删除方法  如果元素不存在 删除false 存在 并且可以删除 就是true
        System.out.println("删除 葫芦娃 :"+coll.remove("葫芦娃"));
        System.out.println("删除 马尔扎哈 :"+coll.remove("马尔扎哈"));
        System.out.println("删除之后:"+coll);
        // 间接遍历方式 先将我们的集合转换成 数组
        // public Object[] toArray(): 把集合中的元素,存储到数组中。
        // 转换数组
        Object[] objects = coll.toArray();
        for (int i = 0; i < objects.length; i++) {
            System.out.println(objects[i]);
        }

        //已知集合的元素:"abc" "abc" "bb" "ccc" "2b" "bb"
        //最后集合的元素:"abc" "bb" "ccc" "2b"
    }

}


//        //public void clear() :清空集合中所有的元素。
//        coll.clear();
//        System.out.println("清空集合后:"+coll);

// 遍历一下 我们的集合
//       错误的写法   因为Collection中的集合不一定有索引
// for(int i = 0;i<coll.size();i++){
//            System.out.println(coll.get(i));
//        }

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马