JAVA集合——Collection接口

TestCollection.java

package com.it.java;

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

import org.junit.Test;

/* 1.储存对象的方法:a.数组 b.集合
 * 2.数组存储对象的特点:Student[] stu = new Student[20]; stu[0] = new Student();....
 *   >-弊端:a.一旦创建,其长度不可变   b.真实的数组存放的对象的个数是不可知的
 * 3.集合:
 *      Collection接口
 *         |----List接口:存储有序的可以重复的元素
 *             |----ArrayList(主要实现类)、
 *                  LinkedList(对于频繁的插入和选择操作,相当于链表)、
 *                  Vector(古老的实现类、线程安全的,但一般不用)
 *         |----set接口:存储无序的,不可重复的元素
 *             |----HashSet、LinkedHashSet、TreeSet
 *      Map接口:存储“键-值”对的数据
 *         |----HashMap、LinkedHashMap、TreeMap、Hashtable(子类:Properties)
 *      */
public class TestCollection {
    @Test
    public void testCollection1() {
        Collection coll = new ArrayList();
        //1.size():返回集合中元素的个数
        System.out.println(coll.size());

        //2.add(Object obj):向集合中添加一个元素
        coll.add(123);
        coll.add("aa");
        coll.add(new Date());
        coll.add("BB");
        System.out.println(coll.size());

        //3.addAll(Collection coll):将形参coll中包含的所有元素添加到当前集合
        Collection coll1 = Arrays.asList(1,2,3);
        coll.addAll(coll1);
        System.out.println(coll.size());

        //查看集合元素
        System.out.println(coll);

        //4.isEmpty():判断集合是否为空
        System.out.println(coll.isEmpty());

        //5.clear():清空集合元素
        coll.clear();
        System.out.println(coll.isEmpty());
    }

    @Test
    public void testCollection2() {
        Collection coll = new ArrayList();
        coll.add(123);
        coll.add("aa");
        coll.add(new Date());
        coll.add("BB");
        //Person p = new Person("MM",23); //建了一个Person类
        coll.add(new Person("MM",23));
        System.out.println(coll);
        //6.contains(Object obj):判断集合中是否包含指定的obj元素,是返回ture,否返回false
        //判断依据,根据元素所在类的equals()方法判断
        //明确:如果存入集合中的元素是自定义类的对象,自定义的类要重写equals()
        Boolean b1 = coll.contains(123);
        b1 = coll.contains("aa");
        System.out.println(b1);
        boolean b2 = coll.contains(new Person("MM", 23));
             //会报false,原因是系统会认为与原先定义的一致,需重写Person类中的equals方法
        System.out.println(b2);

        //7.containsAll(Collection coll):判断当前集合中是否包含coll中的所有元素
        Collection coll1 = new ArrayList();
        coll1.add(123);
        coll1.add(new String("aa"));
        boolean b3 = coll.containsAll(coll1);
        System.out.println("#" + b3);

        //8.retainAll(Collection coll):求当前集合与coll的共有元素
        coll.retainAll(coll1);

        //9.remove(Object obj):删除集合中的obj元素
        boolean b4 = coll.remove("BB");
        System.out.println(b4);

        //10.removeAll(cll1):删除两个集合的交集
        coll.removeAll(coll1);
        System.out.println(coll);

        //11.equals(Object obj):判断集合中的所有元素是否完全相同
        Collection coll2 = new ArrayList();
        coll2.add(123);
        coll2.add(new String("AA1"));
        System.out.println(coll1.equals(coll2));

        //12.hashCode()
        System.out.println(coll.hashCode());

        //13.toArry():将集合转化成数组
        Object[] obj = coll.toArray();
        for (int i = 0; i < obj.length; i++) {
            System.out.println(obj[i]);
        }

        //14.iterator():返回一个Iterator接口实现类的对象,进而实现集合的遍历
        Iterator iteraor = coll.iterator();
        //方式一:不用
        System.out.println(iteraor.next());
        //方式二:不用
        for (int i = 0; i < coll.size(); i++) {
            System.out.println(iteraor.next());
        }
        //方式三:使用
        while(iteraor.hasNext()) {
            System.out.println(iteraor.next());
        }
    }
}

Person.java

package com.it.java;

public class Person {
    private String name;
    private Integer age;
    public Person(String name, Integer age) {
        super();
        this.name = name;
        this.age = age;
    }
    public Person() {
        super();
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Integer getAge() {
        return age;
    }
    public void setAge(Integer age) {
        this.age = age;
    }
    @Override
    public String toString() {
        return "Person [name=" + name + ", age=" + age + "]";
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        Person other = (Person) obj;
        if (age == null) {
            if (other.age != null)
                return false;
        } else if (!age.equals(other.age))
            return false;
        if (name == null) {
            if (other.name != null)
                return false;
        } else if (!name.equals(other.name))
            return false;
        return true;
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值