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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot中动态更新@Value配置方式

    SpringBoot中动态更新@Value配置方式

    这篇文章主要介绍了SpringBoot中动态更新@Value配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • 基于Java的正则表达式

    基于Java的正则表达式

    正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念
    2017-05-05
  • Java项目部署的完整流程(超详细!)

    Java项目部署的完整流程(超详细!)

    我相信很多Java新手都会遇到这样一个问题,跟着教材敲代码,很容易,但是让他完整的实现一个应用项目却不会,下面这篇文章主要给大家介绍了关于Java项目部署的完整流程,需要的朋友可以参考下
    2022-07-07
  • java 如何实现日志追踪MDC

    java 如何实现日志追踪MDC

    这篇文章主要介绍了java 实现日志追踪MDC方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • 浅谈MyBatis通用Mapper实现原理

    浅谈MyBatis通用Mapper实现原理

    这篇文章主要介绍了浅谈MyBatis通用Mapper实现原理,本文会先介绍通用 Mapper 的简单原理,然后使用最简单的代码来实现这个过程。感兴趣的小伙伴们可以参考一下
    2018-10-10
  • Java爬虫实现Jsoup利用dom方法遍历Document对象

    Java爬虫实现Jsoup利用dom方法遍历Document对象

    本文主要介绍了Java爬虫实现Jsoup利用dom方法遍历Document对象,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • 理解 Java 核心基础精髓解析

    理解 Java 核心基础精髓解析

    这篇文章主要介绍了解 Java 核心基础精髓解析问题,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-03-03
  • java线程池prestartCoreThread prestartAllCoreThreads的预热源码解读

    java线程池prestartCoreThread prestartAllCoreThreads的预热源码解读

    这篇文章主要介绍了java线程池prestartCoreThread prestartAllCoreThreads的预热源码解读,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • Spring boot整合连接池实现过程图解

    Spring boot整合连接池实现过程图解

    这篇文章主要介绍了Spring boot整合连接池实现过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • java实现坦克大战游戏

    java实现坦克大战游戏

    这篇文章主要为大家详细介绍了java实现坦克大战游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-09-09

最新评论