Java集合的定义与Collection类使用详解

 更新时间:2022年11月25日 08:58:34   作者:芝麻干  
这篇文章主要介绍了Java集合的定义及Collection工具类使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧

什么是集合?

概念:对象的容器,定义了对多个对象进行操作的常用方法。可实现数组的功能。

集合和数组的区别:

  • 数组长度固定,集合长度不固定
  • 数组可以存储基本类型和引用类型,集合只能引用类型

Collection :

Collection体系结构:

Collection的使用:包括增加元素、删除元素、遍历元素(两种方法)和判断

直接看代码:

package com.collections;
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();
//        1.添加元素
        collection.add("苹果");
        collection.add("梨子");
        collection.add("榴莲");
        System.out.println(collection);
        System.out.println("元素个数为:"+collection.size());
//        2.删除元素
        collection.remove("榴莲");
        System.out.println(collection);
        System.out.println("元素个数为:"+collection.size());
//        3.遍历元素
//        3.1增强for循环
        System.out.println("-------------3.1增强for循环----------------");
        for (Object object:collection) {
            System.out.println(object);
        }
        System.out.println("-------------3.2使用迭代器Iterator----------------");
//        3.2使用迭代器Iterator,本身是一个接口
//        三种方法:hasNext()判断是否有元素,next()获取下一个元素,remove()删除元素
        Iterator it = collection.iterator();
        while (it.hasNext()){
           String s =  (String)it.next();
            System.out.println(s);
            //it.remove();
        }
        System.out.println("元素个数为"+collection.size());
//        4.判断:contains
        System.out.println(collection.contains("西瓜"));
//        判断是否为空
        System.out.println(collection.isEmpty());
    }
}

注意:使用Collection是不能实例化的,但是可以通过new一个它的子类来创建对象的。

还有就是重点记住遍历元素的方法。 迭代器Iterator。

迭代器Iterator:

三种方法hasNext()、next() 还有一个remove()用于删除迭代器中的元素(在迭代器中,是不可以用collection.remove来删除元素的)

原理:

先用hasNext()判断是否有元素,如果有就下一个next(),依次类推。

使用Collection保存学生信息:

直接看代码:

Student类

package com.collections.test;
public class Student {
    private String name;
    private int age;
    public Student() {
    }
    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

主方法:

package com.collections.test;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class Demo01 {
    public static void main(String[] args) {
        Student s1 = new Student("aaa",18);
        Student s2 = new Student("bbb",19);
        Student s3 = new Student("ccc",20);
        Collection collection = new ArrayList();
        collection.add(s1);
        collection.add(s2);
        collection.add(s3);
        System.out.println("元素个数为:"+collection.size());
        System.out.println(collection.toString());
//        collection.remove(s1);
//        collection.remove(new Student("ccc",20));
        System.out.println("删除后:"+collection.size());
        System.out.println(collection.toString());
//        3.遍历
        for (Object object:collection) {
            Student s = (Student)object;
            System.out.println(s);
        }
        System.out.println("-----------------------------------------");
//        迭代器
        Iterator it = collection.iterator();
        while(it.hasNext()){
             Student s = (Student) it.next();
            System.out.println(s);
        }
    }
}

运行结果:

到此这篇关于Java集合的定义与Collection类使用详解的文章就介绍到这了,更多相关Java集合与Collection内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java中this关键字的详细使用介绍

    java中this关键字的详细使用介绍

    大家好,本篇文章主要讲的是java中this关键字的详细使用介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2022-01-01
  • Springboot实现密码的加密解密

    Springboot实现密码的加密解密

    这篇文章主要为大家详细介绍了Springboot实现密码的加密解密,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • Springboot启动停止命令的.sh脚本编写方式

    Springboot启动停止命令的.sh脚本编写方式

    这篇文章主要介绍了Springboot启动停止命令的.sh脚本编写方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • IDEA生成可运行jar包(包含第三方jar包)流程详解

    IDEA生成可运行jar包(包含第三方jar包)流程详解

    这篇文章主要介绍了IDEA生成可运行jar包(包含第三方jar包)流程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • spring mvc中@RequestBody注解的作用说明

    spring mvc中@RequestBody注解的作用说明

    这篇文章主要介绍了spring mvc中@RequestBody注解的作用说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • Java中的延迟队列DelayQueue源码解析

    Java中的延迟队列DelayQueue源码解析

    这篇文章主要介绍了Java中的延迟队列DelayQueue源码解析,DelayQueue是一个支持并发的无界延迟队列,队列中的每个元素都有个预定时间,当线程从队列获取元素时,只有到期元素才会出队列,没有到期元素则阻塞等待,需要的朋友可以参考下
    2023-12-12
  • Java简单获取字符串像素的方法

    Java简单获取字符串像素的方法

    这篇文章主要介绍了Java简单获取字符串像素的方法,涉及Java针对字符串字体操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-10-10
  • Java中的Set接口实现类HashSet和LinkedHashSet详解

    Java中的Set接口实现类HashSet和LinkedHashSet详解

    这篇文章主要介绍了Java中的Set接口实现类HashSet和LinkedHashSet详解,Set接口和java.util.List接口一样,同样继承自Collection接口,它与Collection接口中的方法基本一致,并没有对Collection接口进行功能上的扩充,只是比Collection接口更加严格了,需要的朋友可以参考下
    2024-01-01
  • vue 实现删除对象的元素 delete

    vue 实现删除对象的元素 delete

    这篇文章主要介绍了vue 实现删除对象的元素delete,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • 解读Spring接口方法加@Transactional失效的原因

    解读Spring接口方法加@Transactional失效的原因

    这篇文章主要介绍了Spring接口方法加@Transactional失效的原因解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03

最新评论