一、集合

什么是集合

  • 集合就是一个存放数据的容器,准确的说是放数据对象引用的容器
  • 集合类存放的都是对象的引用,而不是对象的本身
  • 集合类型主要有3中:set(集)、List(列表)、map(映射)

集合的特点

  • 集合用于存储对象的容器,对象是用来封装数据,对象多了也需要存储集中式管理。
  • 和数组对比对象的大小不确定,因为集合是可变长的,数组需要提前定义大小。

集合跟数组的区别

  1. 数组长度固定,集合长度不固定!
  2. 数组可以存储基本类型跟引用类型,集合只能存储引用类型!
  3. 数组存储的元素必须是同一个数据类型,集合存储的对象可以是不同的数据类型

存放位置:java.util.*

二、Collection接口

  • Collection是该体系结构的根接口,代表一组对象,称为“集合”!
  • List接口的特点:有序,有下标,元素可以重复
  • Set接口的特点:无序,无下标,元素不能重复
  • 结构图如下

对象集合 根据一个属性的值修改另一个属性的值 java8_学习


  • Collection父接口的方法主要有以下:

方法

功能

boolean add(object obj)

添加一个对象

boolean addAll(Collection c)

将一个集合中的所有对象添加到此集合中

void clear()

清空此集合中的所有对象

boolean equals(Object o)

检查此集合中是否包含o对象

Boolean isEmpty()

判断此集合是否为空

boolean remove(object o)

在此集合中溢出o对象

int size()

返回此集合中的元素个数

Object[] toArray()

将此集合转换成数组

迭代器(iterator)

  • 迭代器又称为遍历器,也就是将内容遍历出来的一个对象
  • 迭代器中有三个主要执行的方法,分别是hasnext();next();remove();
  • hasnaxt:有没有下一个元素
  • next:获取下一个元素
  • remove:删除当前元素

对象集合 根据一个属性的值修改另一个属性的值 java8_java_02


  • 迭代器会先执行查看每个元素有没有值,如果有,获取到这个元素,如果全部都没有了之后,便结束运行!

下面使用代码测试Collection接口以及iterator迭代器的使用

package com.Collection;

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

public class Demo01 {
    public static void main(String[] args) {
        //创建集合
        Collection collection = new ArrayList();  //使用List接口中的Array对象

        //1、添加元素
        collection.add("苹果");
        collection.add("香蕉");
        collection.add("西瓜");
        collection.add("草莓");
        System.out.println("元素的个数为:"+collection.size());
        System.out.println(collection);
        //2、删除元素
        collection.remove("苹果");
        System.out.println("元素的个数为:"+collection.size());
        System.out.println(collection);
        //3、遍历元素【重点】
        // 3.1、使用增强for循环遍历
        System.out.println("-------------1、使用增强for循环遍历---------------");
        for (Object s:collection
             ) {
            System.out.println(s);
        }
        // 3.2、使用迭代器遍历iterator
        System.out.println("-------------2、使用迭代器遍历iterator---------------");
        Iterator it = collection.iterator();
        while(it.hasNext()){
            String s = (String) it.next();
            System.out.println(s);
        }
        it.remove();   //删除一个,从最后一个删除
        System.out.println("元素个数:"+collection.size());
        System.out.println(collection);
        //4、判断
        System.out.println(collection.contains("西瓜"));  //判断是否存在西瓜
        System.out.println(collection.isEmpty());   //是否该集合是否为空 空为true
    }

}

结果图

对象集合 根据一个属性的值修改另一个属性的值 java8_开发语言_03


总结:在使用迭代器遍历集合内的数组时,不能使用collection.remove方法去删除,因会为提示异常,只能通过迭代器的iterator.remove方法删除!并且Collection接口不能被实例化!


注:文章仅做个人学习日记,不做学习建议