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

目录
  • 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存储自定义类型对象内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • java集合Collection常用方法解读

    目录 前言 为什么要有集合 Collection方法接口介绍 java8新特性操作集合 总结 前言 出去面试的时候,对java的集合框架考察的知识点还是蛮多的.除了基础的集合常见API使用,对集合底层的实现原理以及数据结构等也有很多考察方面.而自己对这方面知之甚少,特地抽空进行研究和学习一下. 为什么要有集合 提到集合就不得不提一下数组,好多集合底层都是依赖于数组的实现.数组一旦初始化后,长度就确定了,存储数据对象不能达到动态扩展,其次数组存储元素不便于对数组进行添加.修改.删除操作,而且数组可

  • java集合collection接口与子接口及实现类

    目录 概要 1 Collection接口的实现子类特性 2 通过实现子类ArrayList体现Collection接口方法 2.1 代码演示示例 3 集合的遍历:①使用Iterator(迭代器)②增强for循环遍历 3.1 代码示例 4 List相关解读 5 Set接口分析 Map接口及实现子类 结语 概要 集合概念:像数组一样是java的一个容器:和数组不同的是数组只能存同类型的数据,且长度定义之后就不可变,集合不仅,可以存多种类型的数据,而且还提供了增.删.改.查的方法: 集合分类:可以分为

  • Java Collection集合的三种遍历方式详解

    目录 Collection遍历方式 迭代器遍历 foreach遍历 Lambda遍历 Collection遍历方式 Collection集合遍历的方式有三种: 迭代器foreach/增强for循环lambda表达式 迭代器遍历 迭代器概述: 遍历就是一个一个的把容器中的元素访问一遍. 迭代器在Java中是Iterator代表的,迭代器是集合的专用遍历方式. Collection集合获取迭代器的方: 方法名称 说明 iterator() 返回集合中的迭代器对象,该迭代器对象默认指向当前集合的0索引

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

    什么是集合? 概念:对象的容器,定义了对多个对象进行操作的常用方法.可实现数组的功能. 集合和数组的区别: 数组长度固定,集合长度不固定 数组可以存储基本类型和引用类型,集合只能引用类型 Collection : Collection体系结构: Collection的使用:包括增加元素.删除元素.遍历元素(两种方法)和判断 直接看代码: package com.collections; import java.util.ArrayList; import java.util.Collection

  • 浅谈Java中几个常用集合添加元素的效率

    初始化需要进行比较的集合,统一增加10万个元素,获取整个过程的执行时间. 1.List集合增加元素 private static void testList() { List<Integer> list = new ArrayList<Integer>(); long startTime = System.currentTimeMillis(); // 获取开始时间 for (int i = 0; i < 100000; i++) { list.add(i); } long

  • Java中几种常用数据库连接池的使用

    一.应用程序直接获取数据库连接的缺点 用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长.假设网站一天10万访问量,数据库服务器就需要创建10万次连接,极大的浪费数据库的资源,并且极易造成数据库服务器内存溢出.拓机.如下图所示: 二.使用数据库连接池优化程序性能 2.1.数据库连接池的基本概念 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现的尤为突出.对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性

  • 深入剖析java中的集合框架

    解析:如果并不知道程序运行时会需要多少对象,或者需要更复杂方式存储对象,那么可以使用Java集合框架. 如果启用集合的删除方法,那么集合中所有元素的索引会自动维护. 集合完全弥补了数组的缺陷. 02.集合框架的内容 集合框架都包含三大块内容:对外的接口,接口的实现和对集合运算的算法 01.接口:表示集合的抽象数据类型 02.实现:集合框架中接口的具体实现 03.算法:在一个实现了某个集合框架的接口的对象身上完成某种有用的计算方法 java集合框架简图: 01.Collection接口存在储存一组

  • Java中List集合的深入介绍(超级推荐!)

    目录 1,Java集合介绍 2,List介绍 2.1 ArrayList集合 2.2 LinkedList集合 3,List常用方法 3.1 ArrayList 基本操作 3.2 LinkedList 基本操作 4,ArrayList和LinkedList比较 5,ArrayList源码分析 6,LinkedList源码分析 7,小结 1,Java集合介绍 作为一个程序猿,Java集合类可以说是我们在工作中运用最多.最频繁的类.相比于数组(Array)来说,集合类的长度可变,更加方便开发. Ja

  • Java中Map集合(接口)的基本方法程序演示

    本文实例为大家分享了Java中Map集合的基本方法程序演示的具体代码,供大家参考,具体内容如下 package pack02; import java.util.*; public class MapDemo { public static void main(String[] args) { //定义一个Map接口类型的引用,指向HashMap类型的对象 Map<String,String> ma = new HashMap<String, String>(); ma.put(&

  • Java中Map集合中的Entry对象用法

    Entry: 键值对 对象. 在Map类设计是,提供了一个嵌套接口(static修饰的接口):Entry.Entry将键值对的对应关系封装成了对象,即键值对对象,这样我们在遍历Map集合时,就可以从每一个键值对(Entry)对象中获取对应的键与对应的值. Entry为什么是静态的? Entry是Map接口中提供的一个静态内部嵌套接口,修饰为静态可以通过类名调用. Map集合遍历键值对的方式: Set<Map.Entry<K,V>> entrySet(); //返回此映射中包含的映射

  • 在java中ArrayList集合底层的扩容原理

    第一章 前言概述 第01节 概述 底层说明 ArrayList是List的实现类,它的底层是用Object数组存储,线程不安全 后期应用 适合用于频繁的查询工作,因为底层是数组,可以快速通过数组下标进行查找 第02节 区别 区别方向 ArrayList集合 LinkedList集合 线程安全 不安全 不安全 底层原理 Object类型数组 双向链表 随机访问 支持(实现 RandomAccess接口) 不支持 内存占用 ArrayList 浪费空间, 底层是数组,末尾预留一部分容量空间 Link

  • Java中List集合去除重复数据的方法汇总

    List集合概述 List集合是一个元素有序(每个元素都有对应的顺序索引,第一个元素索引为0).且可重复的集合. List集合常用方法 List是Collection接口的子接口,拥有Collection所有方法外,还有一些对索引操作的方法. void add(int index, E element);:将元素element插入到List集合的index处: boolean addAll(int index, Collection<? extends E> c);:将集合c所有的元素都插入到

  • Java中List集合去重方法以及效率对比

    List集合相信大家在开发过程中几乎都会用到.有时候难免会遇到集合里的数据是重复的,需要进行去除.然而,去重方式有好几种方式,你用的是哪种方式呢?去重方式效率是否是最高效.最优的呢?今天就给大家讲解一下List集合去重的常见及常用的四种方式. 01 实现思路:使用两个for循环遍历集合所有元素,然后进行判断是否有相同元素,如果有,则去除.这种方式是大部分最先想到的,也是最简单的实现方式.其中,这种方式可以保证List集合原来的顺序不变. 代码实现: /** * notes:使用两个for循环实现

  • java中List集合子类特点浅析

    List集合常用子类:ArrayList,LinkedList 1.ArrayList:底层数据结构是数组,查询快,增删慢 2.LinkedList:底层数据结构是链表,查询慢,增删快 分别用ArrayList和LinkedList完成储存字符串并遍历 这里遍历方式有三种 分别是 迭代器  普通for循环 和增强for 这里我采用的是增强for循环 剩下的两种 请友友们帮我补齐! import java.util.ArrayList; public class Listdemo{ public

随机推荐