Java中Collection集合常用API之 Collection存储自定义类型对象的示例代码

 更新时间:2022年12月21日 15:49:40   作者:蓝桉cyq  
Collection是单列集合的祖宗接口,因此它的功能是全部单列集合都可以继承使用的,这篇文章主要介绍了Java中Collection集合常用API - Collection存储自定义类型对象,需要的朋友可以参考下

Collection常用API

Collection集合API

Collection是单列集合的祖宗接口,因此它的功能是全部单列集合都可以继承使用的。

Collection有如下常用API

方法名称说明
add(E e)把给定的对象添加到当前集合中
clear()清空集合中所有的元素
remove(E e)把给定的对象在当前集合中删除
contains(Object obj)判断当前集合中是否包含给定的对象
isEmpty()判断当前集合是否为空
size()返回集合中元素的个数。
toArray()把集合中的元素,存储到数组中

方法演示代码:

public static void main(String[] args) {
    Collection<String> strList = new ArrayList<String>();

    // 1.添加元素, 添加成功返回ture
    strList.add("aaa");
    strList.add("bbb");
    System.out.println(strList.add("哈哈哈")); // true
    System.out.println(strList); // [aaa, bbb, 哈哈哈]

    // 2.删除给定对象: 如果有多个重复对象, 默认删除前面第一个
    strList.remove("bbb");
    System.out.println(strList); // [aaa, 哈哈哈]

    // 3.清空集合元素
    strList.clear();
    System.out.println(strList); // []

    // 4.判断集合是否为空, 是空返回true, 反之false
    System.out.println(strList.isEmpty()); // true

    strList.add("aaa");
    strList.add("bbb");
    strList.add("哈哈哈");

    // 5. 判断集合中是否给定对象
    System.out.println(strList.contains("aaa")); // true
    System.out.println(strList.contains("ccc")); // false

    // 6. 返回集合中元素的个数元素
    System.out.println(strList.size()); // 3

    // 7.将集合转为数组对象
    Object[] arr = strList.toArray();
    System.out.println(Arrays.toString(arr)); // [aaa, bbb, 哈哈哈]
}

扩展方法: addAll合并两个集合

public static void main(String[] args) {
    // 扩展, 合并集合
    Collection<String> c1 = new ArrayList<String>();
    c1.add("aaa");
    c1.add("bbb");
    Collection<String> c2 = new ArrayList<String>();
    c2.add("ccc");
    c2.add("ddd");
    // 将c2集合的元素全部倒入到c1中
    c1.addAll(c2);
    System.out.println(c1); // [aaa, bbb, ccc, ddd]
    // c2还是存在的
    System.out.println(c2); // [ccc, ddd]
}

Collection存储自定义类型对象

我们通过下面这样一个案例来进行学习:

需求:

某影院系统需要在后台存储三部电影,然后依次展示出来。

步骤分析:

  • 定义一个电影类,再定义一个集合存储该类电影对象。
  • 创建3个电影对象,封装相关数据,把3个对象存入到集合中去。
  • 遍历集合中的3个对象,输出相关信息。

演示代码:

定义一个电影类

public class Movie {
    private String name;
    private double score;
    private String actor;

    public Movie() {
    }

    public Movie(String name, double score, String actor) {
        this.name = name;
        this.score = score;
        this.actor = actor;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public double getScore() {
        return score;
    }

    public void setScore(double score) {
        this.score = score;
    }

    public String getActor() {
        return actor;
    }

    public void setActor(String actor) {
        this.actor = actor;
    }
}

定义一个集合类储存该电影对象, 并创建3个电影对象,存入到集合中去

public class Test {
    public static void main(String[] args) {
        // 定义一个集合
        Collection<Movie> movies = new ArrayList<>();
        // 向集合中存储三个电影对象
        movies.add(new Movie("盗梦空间", 9.6, "沈腾"));
        movies.add(new Movie("大话西游", 9.8, "王宝强"));
        movies.add(new Movie("流浪地球", 9.7, "吴京"));
    }
}

遍历集合中的3个对象,输出相关信息。

public class Test {
    public static void main(String[] args) {
        // 定义一个集合
        Collection<Movie> movies = new ArrayList<>();
        // 向集合中存储三个电影对象
        movies.add(new Movie("《盗梦空间》", 9.6, "沈腾"));
        movies.add(new Movie("《大话西游》", 9.8, "王宝强"));
        movies.add(new Movie("《流浪地球》", 9.7, "吴京"));

        // 遍历集合对象, 输出相关信息
        movies.forEach(item -> {
            System.out.print("片名: " + item.getName());
            System.out.print("平分: " + item.getScore());
            System.out.println("演员: " + item.getActor());
        });
        
        // 遍历结果
        // 片名: 《盗梦空间》平分: 9.6演员: 沈腾
        // 片名: 《大话西游》平分: 9.8演员: 王宝强
        // 片名: 《流浪地球》平分: 9.7演员: 吴京
    }
}

到此这篇关于Java中Collection集合常用API - Collection存储自定义类型对象的文章就介绍到这了,更多相关Java  Collection存储自定义类型对象内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • ThreadLocal内存泄露的产生原因和处理方法

    ThreadLocal内存泄露的产生原因和处理方法

    ThreadLocal 的内存泄漏问题通常发生在使用 ThreadLocal 存储对象时,尤其是在多线程环境中,线程池中的线程复用可能导致一些资源没有及时清理,从而引发内存泄漏,所以本文给大家介绍了ThreadLocal内存泄露的产生原因和处理方法,需要的朋友可以参考下
    2024-12-12
  • Java构建树形菜单的实例代码(支持多级菜单)

    Java构建树形菜单的实例代码(支持多级菜单)

    这篇文章主要介绍了Java构建树形菜单的实例代码(支持多级菜单),非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-09-09
  • 浅析Spring IOC bean为什么默认是单例

    浅析Spring IOC bean为什么默认是单例

    单例的意思就是说在 Spring IoC 容器中只会存在一个 bean 的实例,无论一次调用还是多次调用,始终指向的都是同一个 bean 对象,本文小编将和大家一起分析Spring IOC bean为什么默认是单例,需要的朋友可以参考下
    2023-12-12
  • Spring中的@EnableScheduling定时任务注解

    Spring中的@EnableScheduling定时任务注解

    这篇文章主要介绍了Spring中的@EnableScheduling注解,@EnableScheduling是 Spring Framework 提供的一个注解,用于启用 Spring 的定时任务功能,通过使用这个注解,可以在 Spring 应用程序中创建定时任务,需要的朋友可以参考下
    2024-01-01
  • 利用keytools为tomcat 7配置ssl双向认证的方法

    利用keytools为tomcat 7配置ssl双向认证的方法

    双向认证和单向认证原理基本差不多,只是除了客户端需要认证服务端以外,增加了服务端对客户端的认证,下面这篇文章主要介绍了利用keytools为tomcat 7配置ssl双向认证的方法,需要的朋友可以借鉴,下面来一起看看吧。
    2017-02-02
  • java 反射机制详解及实例代码

    java 反射机制详解及实例代码

    这篇文章主要介绍了java 反射机制详解及实例代码的相关资料,需要的朋友可以参考下
    2016-11-11
  • 深入分析Java并发编程之CAS

    深入分析Java并发编程之CAS

    这篇文章主要介绍了Java并发编程之CAS的相关资料,帮助大家更好的理解和学习Java并发编程,感兴趣的朋友可以了解下
    2020-08-08
  • java多态注意项小结

    java多态注意项小结

    面向对象的三大特性:封装、继承、多态。从一定角度来看,封装和继承几乎都是为多态而准备的。今天通过本文给大家介绍java多态注意项总结,感兴趣的朋友一起看看吧
    2021-10-10
  • java中for循环执行的顺序图文详析

    java中for循环执行的顺序图文详析

    关于java的for循环想必大家非常熟悉,它是java常用的语句之一,这篇文章主要给大家介绍了关于java中for循环执行顺序的相关资料,需要的朋友可以参考下
    2021-06-06
  • Solon MVC 的 @Mapping 用法示例说明

    Solon MVC 的 @Mapping 用法示例说明

    SolonMvc框架中的@Mapping注解用于请求路径映射,支持加在public方法或类上,它可以自定义路径、请求方法、内容类型等,支持多种路径映射表达式和参数注入方式,本文给大家介绍Solon MVC的@Mapping 用法示例说明,感兴趣的朋友一起看看吧
    2024-11-11

最新评论